@Test public void testIsEmpty() throws OseeCoreException { AccessData data = new AccessData(); Assert.assertTrue(data.isEmpty()); data.add(new Object(), createDetail(7, new Object())); Assert.assertFalse(data.isEmpty()); }
@Test public void testAccessDetailLegacyScope() throws OseeCoreException { AccessDetail<?> specificDetail = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.DENY, "item 1 - deny", new Scope().add("more").add("specific").add("scope")); AccessDetail<?> lessSpecificDetail = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.WRITE, "item 2 - write", new Scope().add("less").add("specific")); AccessDetail<?> legacyDetail = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.WRITE, "item 2 - write", Scope.createLegacyScope()); AccessData data = new AccessData(); data.add(branchToCheck1, specificDetail); data.add(branchToCheck1, legacyDetail); data.add(branchToCheck1, lessSpecificDetail); Collection<AccessDetail<?>> details = data.getAccess(branchToCheck1); Assert.assertTrue(details.size() == 1); AccessDetail<?> actualDetail = details.iterator().next(); Assert.assertEquals(specificDetail, actualDetail); Assert.assertEquals("/more/specific/scope", actualDetail.getScope().getPath()); Assert.assertEquals(PermissionEnum.DENY, actualDetail.getPermission()); }
@Test public void testAccessDetailMultipleKeys() throws OseeCoreException { AccessDetail<?> detail1 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.DENY, "item 1 - deny", new Scope().add("same_scope")); AccessDetail<?> detail2 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.WRITE, "item 2 - write", new Scope().add("same_scope")); AccessData data = new AccessData(); data.add(branchToCheck1, detail1); data.add(branchToCheck2, detail2); Set<Object> keys = data.keySet(); Assert.assertEquals(2, keys.size()); Assert.assertTrue(keys.contains(branchToCheck1)); Assert.assertTrue(keys.contains(branchToCheck2)); Collection<AccessDetail<?>> details = data.getAccess(branchToCheck1); Assert.assertTrue(details.size() == 1); AccessDetail<?> actualDetail = details.iterator().next(); Assert.assertEquals(detail1, actualDetail); details = data.getAccess(branchToCheck2); Assert.assertTrue(details.size() == 1); actualDetail = details.iterator().next(); Assert.assertEquals(detail2, actualDetail); Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); }
@Test public void testAddAll() throws OseeCoreException { Collection<AccessDetail<?>> expectedDetails = new ArrayList<AccessDetail<?>>(); createTestObjects( expectedDetails, branchToCheck1, artifactType, attributeType, wordAttributeType, artifactToCheck, relTypeSide1, relTypeSide2, branchToCheck2); AccessData data = new AccessData(); data.addAll(artifactToCheck, expectedDetails); Collection<AccessDetail<?>> actualDetails = data.getAccess(artifactToCheck); Assert.assertEquals(expectedDetails.size(), actualDetails.size()); Assert.assertFalse(Compare.isDifferent(expectedDetails, actualDetails)); for (AccessDetail<?> expectedDetail : expectedDetails) { AccessDetail<?> actualDetail = findObject(expectedDetail, actualDetails); ModelAsserts.assertEquals(expectedDetail, actualDetail); } }
@Test public void test() { // 获取数据 List<AccessData> datas = getWeekData(); // 创建Option对象 FsonOption option = new FsonOption(); // 设置图表标题,并且居中显示 option.title().text("最近7天访问量图表").x(X.center); // 设置图例,居中底部显示,显示边框 option.legend().data("访问量").x(X.center).y(Y.bottom).borderWidth(1); // 设置y轴为值轴,并且不显示y轴,最大值设置400(实际上这个属性不必设置,默认即可) option.yAxis( new ValueAxis() .name("IP") .axisLine(new AxisLine().show(true).lineStyle(new LineStyle().width(0))) .max(400) .min(-100)); // 创建类目轴,并且不显示竖着的分割线 CategoryAxis categoryAxis = new CategoryAxis() .splitLine(new SplitLine().show(false)) .axisLine(new AxisLine().onZero(false)); // 不显示表格边框,就是围着图标的方框 option.grid().borderWidth(0); // 创建Line数据 Line line = new Line("访问量").smooth(true); // 根据获取的数据赋值 for (AccessData data : datas) { // 增加类目,值为日期 categoryAxis.data(data.getDate()); // 日期对应的数据 line.data(data.getNums()); } // 设置x轴为类目轴 option.xAxis(categoryAxis); // 设置数据 option.series(line); // 打开浏览器预览 option.exportToHtml("access.html"); option.view(); }
@Test public void testToString() throws OseeCoreException { AccessDetail<?> detail1 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.DENY, "item 1 - deny", new Scope().add("scope 1")); AccessDetail<?> detail2 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.WRITE, "item 2 - write", new Scope().add("scope 2")); AccessData data = new AccessData(); Assert.assertEquals("accessData []", data.toString()); data.add(branchToCheck1, detail1); data.add(branchToCheck2, detail2); String branch1 = "System Root Branch - AccessDetail [permission=DENY, scope=/scope_1, accessObject=RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A], reason=item 1 - deny]"; String branch2 = "Common - AccessDetail [permission=WRITE, scope=/scope_2, accessObject=RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A], reason=item 2 - write]"; String message = "accessData [\n\t%s,\n\t%s,\n]"; String forward = String.format(message, branch1, branch2); String backward = String.format(message, branch2, branch1); Assert.assertTrue(data.toString().equals(forward) || data.toString().equals(backward)); }
@Test public void testAccessDetailMerge() throws OseeCoreException { AccessData data = new AccessData(); AccessDetail<?> detail1 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.DENY, "item 1 - deny", new Scope().add("same_scope")); AccessDetail<?> detail2 = MockDataFactory.createAccessDetails( relTypeSide1, PermissionEnum.WRITE, "item 2 - write", new Scope().add("same_scope")); data.add(artifactToCheck, detail1); data.add(artifactToCheck, detail2); Collection<AccessDetail<?>> details = data.getAccess(artifactToCheck); Assert.assertTrue(details.size() == 1); AccessDetail<?> actualDetail = details.iterator().next(); Assert.assertEquals(detail1.getAccessObject(), actualDetail.getAccessObject()); Assert.assertEquals(detail2.getAccessObject(), actualDetail.getAccessObject()); Assert.assertEquals(PermissionEnum.DENY, actualDetail.getPermission()); Assert.assertEquals("item 1 - deny", actualDetail.getReason()); Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); }
@Test(expected = OseeArgumentException.class) public void testAddAllCheck2() throws OseeCoreException { AccessData data = new AccessData(); data.addAll(new Object(), null); }
@Test(expected = OseeArgumentException.class) public void testAddAllCheck1() throws OseeCoreException { AccessData data = new AccessData(); data.addAll(null, Collections.<AccessDetail<?>>emptyList()); }
@Test(expected = OseeArgumentException.class) public void testAddNullCheck1() throws OseeCoreException { AccessData data = new AccessData(); data.add(null, createDetail(4, new Object())); }
@Test(expected = OseeArgumentException.class) public void testGetAccessNullCheck() throws OseeCoreException { AccessData data = new AccessData(); data.getAccess(null); }