예제 #1
0
 @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());
 }
예제 #2
0
  @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());
  }
예제 #3
0
  @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());
  }
예제 #4
0
  @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);
    }
  }
예제 #5
0
 @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();
 }
예제 #6
0
  @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));
  }
예제 #7
0
  @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());
  }
예제 #8
0
 @Test(expected = OseeArgumentException.class)
 public void testAddAllCheck2() throws OseeCoreException {
   AccessData data = new AccessData();
   data.addAll(new Object(), null);
 }
예제 #9
0
 @Test(expected = OseeArgumentException.class)
 public void testAddAllCheck1() throws OseeCoreException {
   AccessData data = new AccessData();
   data.addAll(null, Collections.<AccessDetail<?>>emptyList());
 }
예제 #10
0
 @Test(expected = OseeArgumentException.class)
 public void testAddNullCheck1() throws OseeCoreException {
   AccessData data = new AccessData();
   data.add(null, createDetail(4, new Object()));
 }
예제 #11
0
 @Test(expected = OseeArgumentException.class)
 public void testGetAccessNullCheck() throws OseeCoreException {
   AccessData data = new AccessData();
   data.getAccess(null);
 }