private boolean isNotDeletable(ComponentDto project) { ResourceType resourceType = resourceTypes.get(project.qualifier()); return resourceType == null || !resourceType.getBooleanProperty("deletable"); } }
private boolean componentTypeHasProperty(ComponentDto component, String resourceTypeProperty) { ResourceType resourceType = resourceTypes.get(component.qualifier()); return resourceType != null && resourceType.getBooleanProperty(resourceTypeProperty); }
private void mockResourceTypeAsValidProject() { ResourceType resourceType = mock(ResourceType.class); when(resourceType.getBooleanProperty(anyString())).thenReturn(true); when(mockResourceTypes.get(anyString())).thenReturn(resourceType); }
@Test public void fail_to_delete_not_deletable_resource_type() { ResourceType resourceType = mock(ResourceType.class); when(resourceType.getBooleanProperty("deletable")).thenReturn(false); when(mockResourceTypes.get(anyString())).thenReturn(resourceType); ComponentDto project = ComponentTesting.newPrivateProjectDto(db.organizations().insert()); dbClient.componentDao().insert(dbSession, project); dbSession.commit(); expectedException.expect(IllegalArgumentException.class); underTest.delete(dbSession, project); }
@Test public void fail_to_delete_null_resource_type() { when(mockResourceTypes.get(anyString())).thenReturn(null); ComponentDto project = ComponentTesting.newPrivateProjectDto(db.organizations().insert()); dbClient.componentDao().insert(dbSession, project); dbSession.commit(); expectedException.expect(IllegalArgumentException.class); underTest.delete(dbSession, project); }
@Test public void return_configuration_with_all_properties() { ComponentDto project = insertOrganizationAndProject(); userSession.anonymous() .addProjectPermission(UserRole.USER, project) .addProjectPermission(UserRole.ADMIN, project); ResourceType projectResourceType = ResourceType.builder(project.qualifier()) .setProperty("comparable", true) .setProperty("configurable", true) .setProperty("hasRolePolicy", true) .setProperty("modifiable_history", true) .setProperty("updatable_key", true) .setProperty("deletable", true) .build(); when(resourceTypes.get(project.qualifier())) .thenReturn(projectResourceType); init(); executeAndVerify(project.getDbKey(), "return_configuration_with_all_properties.json"); }
@Test public void test_example_response() { init(createPages()); OrganizationDto organizationDto = db.organizations().insertForKey("my-org-1"); ComponentDto project = newPrivateProjectDto(organizationDto, "ABCD") .setDbKey("org.codehaus.sonar:sonar") .setName("Sonarqube") .setDescription("Open source platform for continuous inspection of code quality"); componentDbTester.insertComponent(project); SnapshotDto analysis = newAnalysis(project) .setCreatedAt(parseDateTime("2016-12-06T11:44:00+0200").getTime()) .setVersion("6.3") .setLast(true); componentDbTester.insertSnapshot(analysis); when(resourceTypes.get(project.qualifier())).thenReturn(DefaultResourceTypes.get().getRootType()); UserDto user = db.users().insertUser("obiwan"); propertyDbTester.insertProperty(new PropertyDto().setKey("favourite").setResourceId(project.getId()).setUserId(user.getId())); addQualityProfiles(project, createQProfile("qp1", "Sonar Way Java", "java"), createQProfile("qp2", "Sonar Way Xoo", "xoo")); QualityGateDto qualityGateDto = db.qualityGates().insertQualityGate(db.getDefaultOrganization(), qg -> qg.setName("Sonar way")); db.qualityGates().associateProjectToQualityGate(project, qualityGateDto); userSession.logIn(user) .addProjectPermission(UserRole.USER, project) .addProjectPermission(UserRole.ADMIN, project); String result = execute(project.getDbKey()); assertJson(result).ignoreFields("snapshotDate", "key", "qualityGate.key").isSimilarTo(ws.getDef().responseExampleAsString()); }
private boolean isNotDeletable(ComponentDto project) { ResourceType resourceType = resourceTypes.get(project.qualifier()); return resourceType == null || !resourceType.getBooleanProperty("deletable"); } }
private boolean componentTypeHasProperty(ComponentDto component, String resourceTypeProperty) { ResourceType resourceType = resourceTypes.get(component.qualifier()); return resourceType != null && resourceType.getBooleanProperty(resourceTypeProperty); }