keycloak-federation
公開メンバ関数 | 全メンバ一覧
org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest クラス
org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest 連携図
Collaboration graph

公開メンバ関数

void testGroupResolvingCorrect () throws GroupTreeResolver.GroupTreeResolveException
 
void testGroupResolvingCorrect2_multipleRootGroups () throws GroupTreeResolver.GroupTreeResolveException
 
void testGroupResolvingRecursion ()
 
void testGroupResolvingMultipleParents ()
 
void testGroupResolvingMissingGroup () throws GroupTreeResolver.GroupTreeResolveException
 

詳解

著者
Marek Posolda

関数詳解

◆ testGroupResolvingCorrect()

void org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest.testGroupResolvingCorrect ( ) throws GroupTreeResolver.GroupTreeResolveException
inline
33  {
34  GroupTreeResolver.Group group1 = new GroupTreeResolver.Group("group1", "group2", "group3");
35  GroupTreeResolver.Group group2 = new GroupTreeResolver.Group("group2", "group4", "group5");
36  GroupTreeResolver.Group group3 = new GroupTreeResolver.Group("group3", "group6");
37  GroupTreeResolver.Group group4 = new GroupTreeResolver.Group("group4");
38  GroupTreeResolver.Group group5 = new GroupTreeResolver.Group("group5");
39  GroupTreeResolver.Group group6 = new GroupTreeResolver.Group("group6", "group7");
40  GroupTreeResolver.Group group7 = new GroupTreeResolver.Group("group7");
41  List<GroupTreeResolver.Group> groups = Arrays.asList(group1, group2, group3, group4, group5, group6, group7);
42 
43  GroupTreeResolver resolver = new GroupTreeResolver();
44  List<GroupTreeResolver.GroupTreeEntry> groupTree = resolver.resolveGroupTree(groups, false);
45  Assert.assertEquals(1, groupTree.size());
46  Assert.assertEquals("{ group1 -> [ { group2 -> [ { group4 -> [ ]}{ group5 -> [ ]} ]}{ group3 -> [ { group6 -> [ { group7 -> [ ]} ]} ]} ]}", groupTree.get(0).toString());
47  }

◆ testGroupResolvingCorrect2_multipleRootGroups()

void org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest.testGroupResolvingCorrect2_multipleRootGroups ( ) throws GroupTreeResolver.GroupTreeResolveException
inline
50  {
51  GroupTreeResolver.Group group1 = new GroupTreeResolver.Group("group1", "group8");
52  GroupTreeResolver.Group group2 = new GroupTreeResolver.Group("group2");
53  GroupTreeResolver.Group group3 = new GroupTreeResolver.Group("group3", "group2");
54  GroupTreeResolver.Group group4 = new GroupTreeResolver.Group("group4", "group1", "group5");
55  GroupTreeResolver.Group group5 = new GroupTreeResolver.Group("group5", "group6", "group7");
56  GroupTreeResolver.Group group6 = new GroupTreeResolver.Group("group6");
57  GroupTreeResolver.Group group7 = new GroupTreeResolver.Group("group7");
58  GroupTreeResolver.Group group8 = new GroupTreeResolver.Group("group8", "group9");
59  GroupTreeResolver.Group group9 = new GroupTreeResolver.Group("group9");
60  List<GroupTreeResolver.Group> groups = Arrays.asList(group1, group2, group3, group4, group5, group6, group7, group8, group9);
61 
62  GroupTreeResolver resolver = new GroupTreeResolver();
63  List<GroupTreeResolver.GroupTreeEntry> groupTree = resolver.resolveGroupTree(groups, false);
64 
65  Assert.assertEquals(2, groupTree.size());
66  Assert.assertEquals("{ group3 -> [ { group2 -> [ ]} ]}", groupTree.get(0).toString());
67  Assert.assertEquals("{ group4 -> [ { group1 -> [ { group8 -> [ { group9 -> [ ]} ]} ]}{ group5 -> [ { group6 -> [ ]}{ group7 -> [ ]} ]} ]}", groupTree.get(1).toString());
68  }

◆ testGroupResolvingMissingGroup()

void org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest.testGroupResolvingMissingGroup ( ) throws GroupTreeResolver.GroupTreeResolveException
inline
111  {
112  GroupTreeResolver.Group group1 = new GroupTreeResolver.Group("group1", "group2");
113  GroupTreeResolver.Group group2 = new GroupTreeResolver.Group("group2", "group3", "group5");
114  GroupTreeResolver.Group group4 = new GroupTreeResolver.Group("group4");
115  List<GroupTreeResolver.Group> groups = Arrays.asList(group1, group2, group4);
116 
117  GroupTreeResolver resolver = new GroupTreeResolver();
118  try {
119  resolver.resolveGroupTree(groups, false);
120  Assert.fail("Exception expected because of missing referenced group");
121  } catch (GroupTreeResolver.GroupTreeResolveException gre) {
122  Assert.assertEquals("Group 'group3' referenced as member of group 'group2' doesn't exists", gre.getMessage());
123  }
124 
125  List<GroupTreeResolver.GroupTreeEntry> groupTree = resolver.resolveGroupTree(groups, true);
126 
127  Assert.assertEquals(2, groupTree.size());
128  Assert.assertEquals("{ group1 -> [ { group2 -> [ ]} ]}", groupTree.get(0).toString());
129  Assert.assertEquals("{ group4 -> [ ]}", groupTree.get(1).toString());
130  }

◆ testGroupResolvingMultipleParents()

void org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest.testGroupResolvingMultipleParents ( )
inline
92  {
93  GroupTreeResolver.Group group1 = new GroupTreeResolver.Group("group1", "group2");
94  GroupTreeResolver.Group group2 = new GroupTreeResolver.Group("group2");
95  GroupTreeResolver.Group group3 = new GroupTreeResolver.Group("group3", "group2");
96  GroupTreeResolver.Group group4 = new GroupTreeResolver.Group("group4", "group1", "group5");
97  GroupTreeResolver.Group group5 = new GroupTreeResolver.Group("group5", "group4");
98  List<GroupTreeResolver.Group> groups = Arrays.asList(group1, group2, group3, group4, group5);
99 
100  GroupTreeResolver resolver = new GroupTreeResolver();
101  try {
102  resolver.resolveGroupTree(groups, false);
103  Assert.fail("Exception expected because of some groups have multiple parents");
104  } catch (GroupTreeResolver.GroupTreeResolveException gre) {
105  Assert.assertTrue(gre.getMessage().contains("detected to have multiple parents"));
106  }
107  }

◆ testGroupResolvingRecursion()

void org.keycloak.storage.ldap.idm.model.GroupTreeResolverTest.testGroupResolvingRecursion ( )
inline
72  {
73  GroupTreeResolver.Group group1 = new GroupTreeResolver.Group("group1", "group2", "group3");
74  GroupTreeResolver.Group group2 = new GroupTreeResolver.Group("group2");
75  GroupTreeResolver.Group group3 = new GroupTreeResolver.Group("group3", "group4");
76  GroupTreeResolver.Group group4 = new GroupTreeResolver.Group("group4", "group5");
77  GroupTreeResolver.Group group5 = new GroupTreeResolver.Group("group5", "group1");
78  GroupTreeResolver.Group group6 = new GroupTreeResolver.Group("group6", "group7");
79  GroupTreeResolver.Group group7 = new GroupTreeResolver.Group("group7");
80  List<GroupTreeResolver.Group> groups = Arrays.asList(group1, group2, group3, group4, group5, group6, group7);
81 
82  GroupTreeResolver resolver = new GroupTreeResolver();
83  try {
84  resolver.resolveGroupTree(groups, false);
85  Assert.fail("Exception expected because of recursion");
86  } catch (GroupTreeResolver.GroupTreeResolveException gre) {
87  Assert.assertTrue(gre.getMessage().startsWith("Recursion detected"));
88  }
89  }

このクラス詳解は次のファイルから抽出されました: