@Test public void lazyIssueExclusion() throws IOException { tester .addRules(new XooRulesDefinition()) .addActiveRule("xoo", "OneIssuePerFile", null, "OneIssuePerFile", "MAJOR", null, "xoo"); builder.put("sonar.issue.ignore.allfile", "1") .put("sonar.issue.ignore.allfile.1.fileRegexp", "pattern"); File srcDir = new File(baseDir, "src"); srcDir.mkdir(); File xooFile = new File(srcDir, "sample.xoo"); FileUtils.write(xooFile, "Sample xoo\ncontent", StandardCharsets.UTF_8); File unknownFile = new File(srcDir, "myfile.binary"); byte[] b = new byte[512]; new Random().nextBytes(b); FileUtils.writeByteArrayToFile(unknownFile, b); logTester.setLevel(LoggerLevel.DEBUG); tester.newAnalysis() .properties(builder .put("sonar.sources", "src") .build()) .execute(); assertThat(logTester.logs()).containsOnlyOnce("'src" + File.separator + "myfile.binary' indexed with language 'null'"); assertThat(logTester.logs()).doesNotContain("Evaluate issue exclusions for 'src/myfile.binary'"); assertThat(logTester.logs()).containsOnlyOnce("Evaluate issue exclusions for 'src/sample.xoo'"); }
@Test( description = "Verify that a base class with a BeforeGroups method only gets invoked once, " + "no matter how many subclasses it has") public void verifySingleInvocation() { TestNG tng = create(BaseGroupsASampleTest.class, BaseGroupsBSampleTest.class); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.run(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getFailedMethodNames()).isEmpty(); assertThat(listener.getSucceedMethodNames()).containsOnlyOnce("beforeGroups"); }
@Test public void testList() { handle.execute("insert into something (id, name) values (7, 'Tim')"); handle.execute("insert into something (id, name) values (3, 'Diego')"); dbRule.getJdbi().useExtension(Spiffy.class, spiffy -> { List<Something> all = spiffy.findTwoByIds(3, 7); assertThat(all).containsOnlyOnce(new Something(7, "Tim"), new Something(3, "Diego")); }); }
@Test public void testPluginInstallsJpaMapper() { Thing brian = new Thing(1, "Brian"); Thing keith = new Thing(2, "Keith"); ThingDao dao = dbRule.getSharedHandle().attach(ThingDao.class); dao.insert(brian); dao.insert(keith); List<Thing> rs = dao.list(); assertThat(rs).containsOnlyOnce(brian, keith); } }
@Test public void selectGroupNamesByQuery_with_search_query() { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "group-anyone"); db.users().insertGroup(db.getDefaultOrganization(), "unknown"); db.users().insertPermissionOnGroup(group, SCAN); assertThat(underTest.selectGroupNamesByQuery(dbSession, newQuery().setSearchQuery("any").build())).containsOnlyOnce(ANYONE, group.getName()); }
@Test public void select_groups_by_query_with_project_permissions_on_public_projects() { GroupDto group1 = db.users().insertGroup(); GroupDto group2 = db.users().insertGroup(); GroupDto group3 = db.users().insertGroup(); ComponentDto project = db.components().insertPublicProject(); ComponentDto anotherProject = db.components().insertPublicProject(); db.users().insertProjectPermissionOnGroup(group1, "p1", project); db.users().insertProjectPermissionOnGroup(group1, "p2", project); db.users().insertProjectPermissionOnAnyone("p3", project); db.users().insertProjectPermissionOnGroup(group1, "p4", anotherProject); db.users().insertProjectPermissionOnAnyone("p4", anotherProject); db.users().insertProjectPermissionOnGroup(group3, "p1", anotherProject); db.users().insertPermissionOnGroup(group2, "p5"); PermissionQuery.Builder builderOnComponent = newQuery().setComponentUuid(project.uuid()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.withAtLeastOnePermission().build())).containsOnlyOnce(group1.getName()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.setPermission("p1").build())).containsOnlyOnce(group1.getName()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.setPermission("p3").build())).containsOnlyOnce(ANYONE); }
@Test public void select_groups_by_query_with_project_permissions_on_private_projects() { GroupDto group1 = db.users().insertGroup(); GroupDto group2 = db.users().insertGroup(); GroupDto group3 = db.users().insertGroup(); ComponentDto project = db.components().insertPrivateProject(); ComponentDto anotherProject = db.components().insertPrivateProject(); db.users().insertProjectPermissionOnGroup(group1, SCAN.getKey(), project); db.users().insertProjectPermissionOnGroup(group1, PROVISION_PROJECTS.getKey(), project); db.users().insertProjectPermissionOnGroup(group1, ADMIN, anotherProject); db.users().insertProjectPermissionOnGroup(group3, UserRole.SCAN, anotherProject); db.users().insertPermissionOnGroup(group2, SCAN); PermissionQuery.Builder builderOnComponent = newQuery().setComponentUuid(project.uuid()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.withAtLeastOnePermission().build())).containsOnlyOnce(group1.getName()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.setPermission(SCAN_EXECUTION).build())).containsOnlyOnce(group1.getName()); assertThat(underTest.selectGroupNamesByQuery(dbSession, builderOnComponent.setPermission(USER).build())).isEmpty(); }
@Test public void selectPotentialPermission_with_template_users_groups_and_project_creator() { UserDto user = db.users().insertUser(); GroupDto group = db.users().insertGroup(newGroupDto()); db.users().insertMember(group, user); PermissionTemplateDto template = templateDb.insertTemplate(); templateDb.addProjectCreatorToTemplate(template.getId(), SCAN_EXECUTION); templateDb.addProjectCreatorToTemplate(template.getId(), UserRole.ADMIN); templateDb.addUserToTemplate(template.getId(), user.getId(), UserRole.USER); templateDb.addUserToTemplate(template.getId(), user.getId(), UserRole.ADMIN); templateDb.addGroupToTemplate(template.getId(), group.getId(), UserRole.CODEVIEWER); templateDb.addGroupToTemplate(template.getId(), group.getId(), UserRole.ADMIN); templateDb.addGroupToTemplate(template.getId(), null, UserRole.ISSUE_ADMIN); List<String> resultWithUser = underTest.selectPotentialPermissionsByUserIdAndTemplateId(dbSession, user.getId(), template.getId()); List<String> resultWithoutUser = underTest.selectPotentialPermissionsByUserIdAndTemplateId(dbSession, null, template.getId()); assertThat(resultWithUser).containsOnlyOnce(SCAN_EXECUTION, UserRole.ADMIN, UserRole.USER, UserRole.CODEVIEWER, UserRole.ISSUE_ADMIN); // only permission from anyone group assertThat(resultWithoutUser).containsOnly(UserRole.ISSUE_ADMIN); }
.containsOnlyOnce("USE \"newkeyspace\""); } finally { MockRequest.completeAll(requests);
.hasOnlyElementsOfType(OperationTimedOutException.class) .extractingResultOf("getMessage") .containsOnlyOnce( String.format( "[%s] Timed out waiting for server response", host1.getSocketAddress()),
.hasOnlyElementsOfType(OperationTimedOutException.class) .extractingResultOf("getMessage") .containsOnlyOnce( String.format( "[%s] Timed out waiting for server response", host1.getSocketAddress()),
@Test public void getServicesShouldAggregateAllServiceNames() { assertThat(this.discoveryClient.getServices()).containsOnlyOnce("service1", "service2", "custom"); }
@Test public void getValues() throws Exception { // exercise final List<Object> actual = underTest.getValue(); // verify assertThat(actual) .hasSize(4) .containsOnlyOnce("foo", "bar", "baz", "qux"); }
@Test public void setDefaultDomainShouldNotCreateTwiceWhenCallingTwoTimes() throws Exception { Domain expectedDefaultDomain = Domain.of(InetAddress.getLocalHost().getHostName()); domainList.configureDefaultDomain(expectedDefaultDomain); domainList.configureDefaultDomain(expectedDefaultDomain); assertThat(domainList.getDomainListInternal()).containsOnlyOnce(expectedDefaultDomain); }
@Test public void testProcess() { JavaxFaces2_0Properties properties = new JavaxFaces2_0Properties(); properties.setFaceletsDecorators(new ArrayList<Class<? extends TagDecorator>>()); this.javaxFacesPropertiesCustomizer.postProcessAfterInitialization(properties, null); assertThat(properties.getFaceletsDecorators()).containsOnlyOnce(AngularTagDecorator.class); }
@Test public void testTagDecoratorAlreadyPresent() { this.webApplicationContextRunner .withPropertyValues("joinfaces.jsf.facelets-decorators=de.beyondjava.angularFaces.core.tagTransformer.AngularTagDecorator") .run(context -> { List<Class<? extends TagDecorator>> faceletsDecorators = context.getBean(JavaxFaces2_0Properties.class).getFaceletsDecorators(); assertThat(faceletsDecorators).containsOnlyOnce(AngularTagDecorator.class); }); } }
@Test public void testProcessDouble() { JavaxFaces2_0Properties properties = new JavaxFaces2_0Properties(); this.javaxFacesPropertiesCustomizer.postProcessAfterInitialization(properties, null); this.javaxFacesPropertiesCustomizer.postProcessAfterInitialization(properties, null); assertThat(properties.getFaceletsDecorators()).containsOnlyOnce(AngularTagDecorator.class); }
@Test public void testList() { handle.execute("insert into something (id, name) values (7, 'Tim')"); handle.execute("insert into something (id, name) values (3, 'Diego')"); dbRule.getJdbi().useExtension(Spiffy.class, spiffy -> { List<Something> all = spiffy.findTwoByIds(3, 7); assertThat(all).containsOnlyOnce(new Something(7, "Tim"), new Something(3, "Diego")); }); }
.containsOnlyOnce("USE \"newkeyspace\""); } finally { MockRequest.completeAll(requests);
.hasOnlyElementsOfType(OperationTimedOutException.class) .extractingResultOf("getMessage") .containsOnlyOnce( String.format( "[%s] Timed out waiting for server response", host1.getSocketAddress()),