def test_resource_link(self): r1 = resource.Resource(None, []) r2 = resource.Resource(None, []) r1.link(r2) r = self.renderer.get_renderer(r1) observed = r.render() self.assertResourceLink(r1, r2, observed)
def test_correct_link(self): resource_1 = resource.Resource(None, [], None) resource_2 = resource.Resource(None, [], None) resource_3 = resource.Resource(None, [], None) l = link.Link(None, [], resource_1, resource_2) self.assertIsInstance(l.kind, kind.Kind) self.assertEqual("link", l.kind.term) self.assertIs(resource_1, l.source) self.assertIs(resource_2, l.target) self.assertIs(resource_1, l.attributes["occi.core.source"].value) self.assertIs(resource_1, l.source) self.assertIs(resource_1, l.attributes["occi.core.source"].value) self.assertIs(resource_2, l.attributes["occi.core.target"].value) self.assertIs(resource_2, l.target) self.assertIs(resource_2, l.attributes["occi.core.target"].value) l.source = resource_3 self.assertIs(resource_3, l.attributes["occi.core.source"].value) self.assertIs(resource_3, l.source) self.assertIs(resource_3, l.attributes["occi.core.source"].value) l.target = resource_1 self.assertIs(resource_1, l.target) self.assertIs(resource_1, l.attributes["occi.core.target"].value)
def test_valid_link(self): r1 = resource.Resource(None, []) r2 = resource.Resource(None, []) r1.link(r2) self.assertIsInstance(r1.links[0], link.Link) self.assertIs(r1, r1.links[0].source) self.assertIs(r2, r1.links[0].target)
def test_resource_link_with_mixins(self): r1 = resource.Resource(None, []) r2 = resource.Resource(None, []) r1.link(r2, [mixin.Mixin("s1", "term", "title"), mixin.Mixin("s2", "term", "title")]) r = self.renderer.get_renderer(r1) observed = r.render() self.assertResourceLink(r1, r2, observed)
def test_mixed_collection(self): res = resource.Resource("foo", [], uuid.uuid4().hex) knd = kind.Kind("scheme", "term", "title") c = collection.Collection(kinds=[knd], resources=[res]) r = self.renderer.get_renderer(c) observed = r.render() self.assertMixedCollection(knd, res, observed)
def test_resource_bool_attr(self): res = resource.Resource("title", [], "foo", "summary") attr = ("org.example.bool", True) res.attributes[attr[0]] = attribute.MutableAttribute(attr[0], attr[1]) r = self.renderer.get_renderer(res) observed = r.render() self.assertResourceBoolAttr(res, attr, observed)
def test_resource_string_attr(self): res = resource.Resource("title", [], "foo", "summary") attr = ("org.example.str", "baz") res.attributes[attr[0]] = attribute.MutableAttribute(attr[0], attr[1]) r = self.renderer.get_renderer(res) observed = r.render() self.assertResourceStringAttr(res, attr, observed)
def test_resource_mixins(self): mixins = [ mixin.Mixin("foo", "bar", None), mixin.Mixin("baz", "foobar", None), ] res = resource.Resource("title", mixins, "foo", "summary") r = self.renderer.get_renderer(res) observed = r.render() self.assertResourceMixins(res, mixins, observed)
def test_resource_actions(self): actions = [ action.Action("foo", "bar", None), action.Action("baz", "foobar", None), ] res = resource.Resource("title", [], "foo", "summary") res.actions = actions r = self.renderer.get_renderer(res) observed = r.render() self.assertResourceActions(res, actions, observed)
def test_resource(self): id = uuid.uuid4().hex r = resource.Resource("bar", [], summary="baz", id=id) self.assertIsInstance(r.kind, kind.Kind) self.assertEqual("resource", r.kind.term) self.assertEqual("bar", r.title) self.assertEqual("baz", r.summary) self.assertEqual(id, r.id) self.assertEqual(entity.Entity.kind, r.kind.parent) r.summary = "bazonk" self.assertEqual("bazonk", r.summary)
def test_mixins(self): m = mixin.Mixin(None, None, None) r = resource.Resource(None, [m]) self.assertIsInstance(r.kind, kind.Kind) self.assertEqual([m], r.mixins)
def test_resources_equal(self): id = uuid.uuid4().hex r = resource.Resource("bar", [], summary="baz", id=id) s = resource.Resource("bar", [], summary="baz", id=id) self.assertEqual(r, s)
def test_resource(self): res = resource.Resource("title", [], "foo", "summary") self.get_render_and_assert(res)
def test_link(self): r1 = resource.Resource(None, []) r2 = resource.Resource(None, []) lnk = link.Link("title", [], r1, r2, "id") self.get_render_and_assert(lnk)
def test_collection_resources(self): r1 = resource.Resource("foo", [], uuid.uuid4().hex) r2 = resource.Resource("bar", [], uuid.uuid4().hex) c = collection.Collection(resources=[r1, r2]) self.get_render_and_assert(c)