def test_get_link_for_sanity(self): ''' Verifies that source and target are set... ''' link_string = parser.get_link_str(self.link1) link = parser.get_link(link_string, self.source, self.registry) self.assertEquals(link.kind, self.network_link) self.assertEquals(link.source, self.source) self.assertEquals(link.target, self.target) # 4 = 1 attr + core.id + core.src + core.target self.assertTrue(len(link.attributes) == 4) # identifier checks... link_string = parser.get_link_str(self.link1) link = parser.get_link(link_string, self.source, self.registry) self.assertEquals(link.identifier, '/link/1') tmp = link_string.split('; ') tmp.pop(2) link_string = '; '.join(tmp) link = parser.get_link(link_string, self.source, self.registry) self.assertEquals(link.identifier, None)
def test_get_link_for_failure(self): ''' Test with msg category. ''' # no valid string... self.assertRaises(AttributeError, parser.get_link, 'some crap', None, self.registry.get_categories()) # no target... link_string = parser.get_link_str(self.link1) self.registry.delete_resource(self.target.identifier) self.assertRaises(AttributeError, parser.get_link, link_string, None, self.registry)
def _from_entity(entity): ''' Create a HTTP data object from an entity. entity -- The entity to render. ''' data = HTTPData() # categories cat_str_list = [] cat_str_list.append(parser.get_category_str(entity.kind)) for category in entity.mixins: cat_str_list.append(parser.get_category_str(category)) data.categories = cat_str_list attributes = [] entity.attributes['occi.core.id'] = entity.identifier link_str_list = [] # actions for action in entity.actions: act = '<' + entity.identifier + '?action=' + action.term + '>' act = act + '; rel="' + str(action) + '"' link_str_list.append(act) # links if isinstance(entity, Resource): # links for link in entity.links: link_str_list.append(parser.get_link_str(link)) elif isinstance(entity, Link): entity.attributes['occi.core.source'] = entity.source.identifier entity.attributes['occi.core.target'] = entity.target.identifier data.links = link_str_list # attributes for attr in entity.attributes: attributes.append(attr + '="' + entity.attributes[attr] + '"') data.attributes = attributes return data
def _from_entity(entity): """ Create a HTTP data object from an entity. entity -- The entity to render. """ data = HTTPData() # categories cat_str_list = [] cat_str_list.append(parser.get_category_str(entity.kind)) for category in entity.mixins: cat_str_list.append(parser.get_category_str(category)) data.categories = cat_str_list attributes = [] entity.attributes["occi.core.id"] = entity.identifier link_str_list = [] # actions for action in entity.actions: act = "<" + entity.identifier + "?action=" + action.term + ">" act = act + '; rel="' + str(action) + '"' link_str_list.append(act) # links if isinstance(entity, Resource): # links for link in entity.links: link_str_list.append(parser.get_link_str(link)) elif isinstance(entity, Link): entity.attributes["occi.core.source"] = entity.source.identifier entity.attributes["occi.core.target"] = entity.target.identifier data.links = link_str_list # attributes for attr in entity.attributes: attributes.append(attr + '="' + entity.attributes[attr] + '"') data.attributes = attributes return data