def test_instance(self): # Test various instances. node = Node.instance('flow', {}) self.assertIsInstance(node, Flow) node = Node.instance('review', {}) self.assertIsInstance(node, Review)
def test_init(self): # Test dictionary to object data conversions. data = { 'foo': 'bar', 'baz': 'bat', 'nested': { 'hello': 'world', 'child': { 'foobar': 'foo', } }, 'author': { 'id': 123, 'first_name': 'John', 'last_name': 'Doe', } } node = Node(data) self.assertEquals(node.foo, 'bar') self.assertEquals(node.baz, 'bat') self.assertEquals(node.author.id, 123) self.assertEquals(node.author.first_name, 'John') self.assertEquals(node.author.last_name, 'Doe') self.assertEquals(node.nested.child.foobar, 'foo')
def get_nodes(self, type, query_args={}): """ Get a list of nodes. """ endpoint = '/v3/educator/%ss' % (Node.TYPE_MAP[type]) result = self.request(endpoint, query_args) nodes = [] for data in result.response: node = Node.instance(type, data) nodes.append(node) return nodes