def test_GET_nodes_hides_invisible_nodes(self): user2 = factory.make_User() node1 = factory.make_Node() node2 = factory.make_Node(status=NODE_STATUS.ALLOCATED, owner=user2) node3 = factory.make_Node(pool=factory.make_ResourcePool()) tag = factory.make_Tag() node1.tags.add(tag) node2.tags.add(tag) node3.tags.add(tag) response = self.client.get(self.get_tag_uri(tag), {'op': 'nodes'}) self.assertEqual(http.client.OK, response.status_code) parsed_result = json.loads( response.content.decode(settings.DEFAULT_CHARSET)) self.assertEqual([node1.system_id], [r['system_id'] for r in parsed_result]) # The other user can also see his node client2 = MAASSensibleOAuthClient(user2) response = client2.get(self.get_tag_uri(tag), {'op': 'nodes'}) self.assertEqual(http.client.OK, response.status_code) parsed_result = json.loads( response.content.decode(settings.DEFAULT_CHARSET)) self.assertItemsEqual([node1.system_id, node2.system_id], [r['system_id'] for r in parsed_result])
def test_GET_nodes_hides_invisible_nodes(self): user2 = factory.make_User() node1 = factory.make_Node() pool = factory.make_ResourcePool() pool.grant_user(user2) node2 = factory.make_Node(pool=pool) tag = factory.make_Tag() node1.tags.add(tag) node2.tags.add(tag) response = self.client.get(self.get_tag_uri(tag), {'op': 'nodes'}) self.assertEqual(http.client.OK, response.status_code) parsed_result = json.loads( response.content.decode(settings.DEFAULT_CHARSET)) self.assertEqual([node1.system_id], [r['system_id'] for r in parsed_result]) # However, for the other user, they should see the result client2 = MAASSensibleOAuthClient(user2) response = client2.get(self.get_tag_uri(tag), {'op': 'nodes'}) self.assertEqual(http.client.OK, response.status_code) parsed_result = json.loads( response.content.decode(settings.DEFAULT_CHARSET)) self.assertItemsEqual([node1.system_id, node2.system_id], [r['system_id'] for r in parsed_result])