class Builder(unittest.TestCase): def setUp(self): self.builder = RightsBuilder() def test_empty(self): """If no identities have been added then the result of all_identities should be an empty set""" self.assertEqual(set([]), self.builder.all_identities) def test_addowner(self): """If we add one owner then they should have access to all privleges""" self.builder.addOwner('johnny') rights = self.builder.build() ctext = rights.ctext[0] self.assertTrue(ctext.display) self.assertTrue(ctext.discover) self.assertTrue(ctext.modify) self.assertTrue(ctext.delete) def test_addreader(self): """If we add one reader then they should be the only identiry in the set of all_identities""" self.builder.addReader('johnny') self.assertEqual(set(['johnny']), self.builder.all_identities) def test_add_users_and_build(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build() rights_str = rights.serialize(pretty=True) self.assertTrue(JACK_RIGHTS.encode('utf8') in rights_str) self.assertTrue(JOHNNY_RIGHTS.encode('utf8') in rights_str) self.assertTrue(JIM_RIGHTS.encode('utf8') in rights_str) self.assertTrue(BROWN_GROUP_RIGHTS.encode('utf8') in rights_str) def test_add_users_and_build_hydra(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build_hydra() rights_str = rights.serialize(pretty=True) hydra_rights = load_xmlobject_from_string(rights_str, HydraRights) self.assertEqual(hydra_rights.discover_access_group, []) self.assertEqual(hydra_rights.discover_access_person, ['*****@*****.**']) self.assertEqual(hydra_rights.read_access_group, ['BROWN:GROUP']) self.assertEqual(sorted(hydra_rights.read_access_person), ['*****@*****.**', '*****@*****.**']) self.assertEqual(hydra_rights.edit_access_group, []) self.assertEqual(hydra_rights.edit_access_person, ['*****@*****.**']) self.assertEqual(hydra_rights.delete_access_group, []) self.assertEqual(hydra_rights.delete_access_person, []) def test_getting_builder_back_from_bdr_rights(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build() new_builder = rights.get_builder() self.assertEqual(new_builder, self.builder) def test_getting_builder_back_from_hydra_rights(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build_hydra() new_builder = rights.get_builder() self.assertEqual(new_builder, self.builder)
class Builder(unittest.TestCase): """Test for the rights builder""" def setUp(self): self.builder = RightsBuilder() def test_empty_bdrBuild(self): """If nothing has been added to the builder then the builder should serialize to the same as EMPTY_RIGHTS_XML""" rights = self.builder.build() rights_str = rights.serialize() self.assertEqual(rights_str, EMPTY_RIGHTS_XML) def test_empty_hydraBuild(self): """If nothing has been added to the builder then the builder should serialize to the same as EMPTY_RIGHTS_XML""" rights = self.builder.build_hydra() rights_str = rights.serialize() self.assertEqual(rights_str, EMPTY_HYDRA_RIGHTS_XML) def test_empty(self): """If no identities have been added then the result of all_identities should be an empty set""" self.assertEqual(set([]), self.builder.all_identities) def test_addowner(self): """If we add one owner then they should have access to all privleges""" self.builder.addOwner('johnny') rights = self.builder.build() ctext = rights.ctext[0] self.assertTrue(ctext.display) self.assertTrue(ctext.discover) self.assertTrue(ctext.modify) self.assertTrue(ctext.delete) def test_addreader(self): """If we add one reader then they should be the only identiry in the set of all_identities""" self.builder.addReader('johnny') self.assertEqual(set(['johnny']), self.builder.all_identities) def test_add_users_and_build(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build() rights_str = rights.serialize(pretty=True) self.assertEqual(rights_str, RIGHTS_WITH_USERS) def test_add_users_and_build_hydra(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build_hydra() rights_str = rights.serialize(pretty=True) self.assertEqual(rights_str, HYDRA_RIGHTS_WITH_USERS) def test_getting_builder_back_from_bdr_rights(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build() new_builder = rights.get_builder() self.assertEqual(new_builder, self.builder) def test_getting_builder_back_from_hydra_rights(self): self.builder.addReader('*****@*****.**').addReader('BROWN:GROUP') self.builder.addReader('*****@*****.**') self.builder.addEditor('*****@*****.**') self.builder.addReader('*****@*****.**').addDiscoverer('*****@*****.**') rights = self.builder.build_hydra() new_builder = rights.get_builder() self.assertEqual(new_builder, self.builder)