Skip to content

Commit 92c2845

Browse files
author
Thomas
committed
Remove session mock and add WithMockUser annotation.
1 parent 1122e9b commit 92c2845

File tree

1 file changed

+53
-21
lines changed

1 file changed

+53
-21
lines changed

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/bundle/BundleApiServiceImplTest.java

Lines changed: 53 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.springframework.beans.factory.annotation.Autowired;
1010
import org.springframework.boot.test.context.SpringBootTest;
1111
import org.springframework.test.context.junit4.SpringRunner;
12+
import reactor.core.publisher.Flux;
1213
import reactor.core.publisher.Mono;
1314
import reactor.test.StepVerifier;
1415

@@ -19,14 +20,11 @@
1920
public class BundleApiServiceImplTest {
2021
@Autowired
2122
BundleApiServiceImpl bundleApiService;
22-
// @MockBean
23-
// SessionUserServiceImpl sessionUserService;
2423

2524
@Test
26-
public void createBundleTest() {
25+
@WithMockUser
26+
public void createBundleTestAdminUser() {
2727
//When org admin user creates bundle it succeed
28-
// when(sessionUserService.getVisitorId()).thenReturn(Mono.just("user01"));
29-
// when(sessionUserService.getVisitorOrgMemberCache()).thenReturn(Mono.just(new OrgMember("org01", "user01", MemberRole.ADMIN, "NORMAL", 0)));
3028
Mono<BundleInfoView> bundleInfoViewMono = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
3129
"org01",
3230
"name1",
@@ -49,10 +47,11 @@ public void createBundleTest() {
4947
assertNull(bundleInfoView.getFolderId());
5048
})
5149
.verifyComplete();
52-
50+
}
51+
@Test
52+
@WithMockUser(id="user02")
53+
public void createBundleTestDevUser() {
5354
//When org dev user creates bundle it succeed
54-
// when(sessionUserService.getVisitorId()).thenReturn(Mono.just("user02"));
55-
// when(sessionUserService.getVisitorOrgMemberCache()).thenReturn(Mono.just(new OrgMember("org01", "user02", MemberRole.MEMBER, "NORMAL", 0)));
5655
Mono<BundleInfoView> bundleInfoViewMono1 = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
5756
"org01",
5857
"name2",
@@ -75,10 +74,11 @@ public void createBundleTest() {
7574
assertNull(bundleInfoView.getFolderId());
7675
})
7776
.verifyComplete();
78-
77+
}
78+
@Test
79+
@WithMockUser(id="user03")
80+
public void createBundleTestNonDevUser() {
7981
//When non-dev create bundle throws error
80-
// when(sessionUserService.getVisitorId()).thenReturn(Mono.just("user01"));
81-
// when(sessionUserService.getVisitorOrgMemberCache()).thenReturn(Mono.just(new OrgMember("org01", "user01", MemberRole.MEMBER, "NORMAL", 0)));
8282
Mono<BundleInfoView> bundleInfoViewMono2 = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
8383
"org01",
8484
"name3",
@@ -93,9 +93,8 @@ public void createBundleTest() {
9393
}
9494

9595
@Test
96-
public void moveAddAppTest() {
97-
// when(sessionUserService.getVisitorId()).thenReturn(Mono.just("user01"));
98-
// when(sessionUserService.getVisitorOrgMemberCache()).thenReturn(Mono.just(new OrgMember("org01", "user01", MemberRole.ADMIN, "NORMAL", 0)));
96+
@WithMockUser
97+
public void moveAddAppTestAdmin() {
9998
//Create bundles
10099
Mono<BundleInfoView> bundleInfoViewMono = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
101100
"org01",
@@ -122,13 +121,6 @@ public void moveAddAppTest() {
122121

123122
return bundleApiService.addApp("app01", bundleInfoView.getBundleId())
124123
.then(bundleApiService.moveApp("app01", bundleInfoView.getBundleId(), bundleInfoView2.getBundleId()))
125-
.then(Mono.fromRunnable(() -> {
126-
// Try a no-dev user to add app to bundle
127-
// when(sessionUserService.getVisitorId()).thenReturn(Mono.just("user01"));
128-
// when(sessionUserService.getVisitorOrgMemberCache()).thenReturn(Mono.just(new OrgMember("org01", "user01", MemberRole.MEMBER, "NORMAL", 0)));
129-
}))
130-
.then(bundleApiService.addApp("app01", bundleInfoView.getBundleId()).onErrorResume(e -> Mono.empty()))
131-
.then(bundleApiService.moveApp("app01", bundleInfoView.getBundleId(), bundleInfoView2.getBundleId()).onErrorResume(e -> Mono.empty()))
132124
//Get published bundle
133125
.then(bundleApiService.getPublishedBundle(bundleInfoView2.getBundleId(), BundleRequestType.PUBLIC_TO_ALL))
134126
.doOnNext(bundle -> {
@@ -143,6 +135,46 @@ public void moveAddAppTest() {
143135
.verifyComplete();
144136
}
145137

138+
@Test
139+
@WithMockUser(id="user02")
140+
public void moveAddAppTestNonDev() {
141+
//Create bundles
142+
Mono<BundleInfoView> bundleInfoViewMono = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
143+
"org01",
144+
"name4",
145+
"title",
146+
"description",
147+
"category",
148+
"image",
149+
null));
150+
151+
Mono<BundleInfoView> bundleInfoViewMono2 = bundleApiService.create(new BundleEndpoints.CreateBundleRequest(
152+
"org01",
153+
"name5",
154+
"title",
155+
"description",
156+
"category",
157+
"image",
158+
null));
159+
160+
Flux<?> testFlux = Flux.zip(bundleInfoViewMono, bundleInfoViewMono2)
161+
.flatMap(tuple2 -> {
162+
var bundleInfoView = tuple2.getT1();
163+
var bundleInfoView2 = tuple2.getT2();
164+
165+
return Flux.concat(bundleApiService.addApp("app01", bundleInfoView.getBundleId()),
166+
bundleApiService.moveApp("app01", bundleInfoView.getBundleId(), bundleInfoView2.getBundleId()));
167+
});
168+
169+
StepVerifier.create(testFlux)
170+
.expectError()
171+
.verify();
172+
173+
StepVerifier.create(testFlux)
174+
.expectError()
175+
.verify();
176+
}
177+
146178
private Mono<BundleInfoView> createBundle(String name, String folderId) {
147179
BundleEndpoints.CreateBundleRequest createApplicationRequest =
148180
new BundleEndpoints.CreateBundleRequest("org01", name, "title", "desc", "category", "image", folderId);

0 commit comments

Comments
 (0)