33
44import lombok .extern .slf4j .Slf4j ;
55import org .junit .Assert ;
6- import org .junit .Before ;
7- import org .junit .Ignore ;
86import org .junit .Test ;
97import org .junit .runner .RunWith ;
108import org .lowcoder .api .application .ApplicationController .CreateApplicationRequest ;
119import org .lowcoder .api .application .view .ApplicationPermissionView ;
1210import org .lowcoder .api .application .view .ApplicationView ;
1311import org .lowcoder .api .common .mockuser .WithMockUser ;
1412import org .lowcoder .api .datasource .DatasourceApiService ;
15- import org .lowcoder .api .datasource .DatasourceApiServiceTest ;
1613import org .lowcoder .api .home .FolderApiService ;
17- import org .lowcoder .api .permission .view .CommonPermissionView ;
1814import org .lowcoder .api .permission .view .PermissionItemView ;
1915import org .lowcoder .domain .application .model .Application ;
2016import org .lowcoder .domain .application .model .ApplicationStatus ;
2117import org .lowcoder .domain .application .model .ApplicationType ;
2218import org .lowcoder .domain .application .service .ApplicationService ;
23- import org .lowcoder .domain .datasource .model .Datasource ;
2419import org .lowcoder .domain .permission .model .ResourceHolder ;
2520import org .lowcoder .domain .permission .model .ResourceRole ;
2621import org .lowcoder .sdk .exception .BizError ;
2722import org .lowcoder .sdk .exception .BizException ;
28- import org .pf4j .PluginManager ;
2923import org .springframework .beans .factory .annotation .Autowired ;
3024import org .springframework .boot .test .context .SpringBootTest ;
3125import org .springframework .test .context .junit4 .SpringRunner ;
3529import java .util .List ;
3630import java .util .Map ;
3731import java .util .Set ;
38- @ SuppressWarnings ({"OptionalGetWithoutIsPresent" })
3932@ SpringBootTest
4033@ RunWith (SpringRunner .class )
4134@ Slf4j (topic = "ApplicationApiServiceTest" )
@@ -50,19 +43,6 @@ public class ApplicationApiServiceTest {
5043 @ Autowired
5144 private DatasourceApiService datasourceApiService ;
5245
53- @ Autowired
54- private PluginManager pluginManager ;
55-
56- @ Before
57- public void init () {
58- try {
59- pluginManager .loadPlugins ();
60- pluginManager .startPlugins ();
61- } catch (Exception e ) {
62- log .error ("Failed to load/start plugins. Exception: " + e );
63- }
64- }
65-
6646 @ Test
6747 @ WithMockUser
6848 public void testAutoInheritFoldersPermissionsOnAppCreate () {
@@ -284,78 +264,4 @@ public void testPermissions() {
284264 .verifyComplete ();
285265 }
286266
287- @ Ignore
288- @ SuppressWarnings ("ConstantConditions" )
289- @ Test
290- @ WithMockUser (id = "user02" )
291- public void testCreateApplicationSuccess () {
292-
293- Mono <Datasource > datasourceMono = datasourceApiService .create (DatasourceApiServiceTest .buildMysqlDatasource ("mysql07" )).cache ();
294- Mono <CommonPermissionView > commonPermissionViewMono =
295- datasourceMono .flatMap (datasource -> datasourceApiService .getPermissions (datasource .getId ()));
296- Mono <Boolean > deleteMono = commonPermissionViewMono .flatMap (commonPermissionView -> {
297- String permissionId = commonPermissionView .getUserPermissions ().stream ()
298- .filter (permissionItemView -> permissionItemView .getId ().equals ("user02" ))
299- .findFirst ()
300- .map (PermissionItemView ::getPermissionId )
301- .get ();
302- return datasourceApiService .updatePermission (permissionId , ResourceRole .VIEWER );
303- });
304- //
305- Mono <ApplicationView > applicationViewMono = datasourceMono .map (datasource -> new CreateApplicationRequest (
306- "org01" ,
307- "app05" ,
308- ApplicationType .APPLICATION .getValue (),
309- Map .of ("comp" , "table" ),
310- Map .of ("comp" , "list" , "queries" , Set .of (Map .of ("datasourceId" , datasource .getId ()))),
311- null ))
312- .delayUntil (__ -> deleteMono )
313- .flatMap (createApplicationRequest -> applicationApiService .create (createApplicationRequest ));
314-
315- StepVerifier .create (applicationViewMono )
316- .assertNext (applicationView -> Assert .assertNotNull (applicationView .getApplicationInfoView ().getApplicationId ()))
317- .verifyComplete ();
318- }
319-
320- @ Ignore
321- @ SuppressWarnings ("ConstantConditions" )
322- @ Test
323- @ WithMockUser (id = "user02" )
324- public void testUpdateApplicationFailedDueToLackOfDatasourcePermissions () {
325-
326- Mono <Datasource > datasourceMono = datasourceApiService .create (DatasourceApiServiceTest .buildMysqlDatasource ("mysql08" )).cache ();
327- Mono <CommonPermissionView > commonPermissionViewMono =
328- datasourceMono .flatMap (datasource -> datasourceApiService .getPermissions (datasource .getId ()));
329- Mono <Boolean > deleteMono = commonPermissionViewMono .flatMap (commonPermissionView -> {
330- String permissionId = commonPermissionView .getUserPermissions ().stream ()
331- .filter (permissionItemView -> permissionItemView .getId ().equals ("user02" ))
332- .findFirst ()
333- .map (PermissionItemView ::getPermissionId )
334- .get ();
335- return datasourceApiService .deletePermission (permissionId );
336- });
337- //
338- Mono <ApplicationView > applicationViewMono = datasourceMono .map (datasource -> new CreateApplicationRequest (
339- "org01" ,
340- "app03" ,
341- ApplicationType .APPLICATION .getValue (),
342- Map .of ("comp" , "table" ),
343- Map .of ("comp" , "list" , "queries" , Set .of (Map .of ("datasourceId" , datasource .getId ()))),
344- null ))
345- .delayUntil (__ -> deleteMono )
346- .flatMap (createApplicationRequest -> applicationApiService .create (createApplicationRequest ))
347- .flatMap (applicationView -> {
348- Application application = Application .builder ()
349- .editingApplicationDSL (applicationView .getApplicationDSL ())
350- .name ("app03" )
351- .build ();
352- return applicationApiService .update (applicationView .getApplicationInfoView ().getApplicationId (), application );
353- });
354-
355- StepVerifier .create (applicationViewMono )
356- .expectErrorMatches (throwable -> throwable instanceof BizException bizException
357- && bizException .getError () == BizError .NOT_AUTHORIZED
358- && bizException .getMessageKey ().equals ("APPLICATION_EDIT_ERROR_LACK_OF_DATASOURCE_PERMISSIONS" ))
359- .verify ();
360- }
361267}
0 commit comments