def test_delete_by_item_id(self): links = ItemLink.query.all() assert len(links) == 0 link_type = 'test' item_1 = Item.create() item_2 = Item.create() linked_item = Item.create() link_1 = ItemLink(type=link_type, item_id=item_1.id, linked_id=linked_item.id) link_2 = ItemLink(type=link_type, item_id=item_2.id, linked_id=linked_item.id) db.session.add(link_1) db.session.add(link_2) db.session.flush() links = ItemLink.query.all() assert len(links) == 2 assert link_1 in links and link_2 in links ItemLink.delete_by_item_id(item_1.id) links = ItemLink.query.all() assert len(links) == 1 assert link_1 not in links and link_2 in links ItemLink.delete_by_item_id(item_2.id) links = ItemLink.query.all() assert len(links) == 0
def test_delete(self): self.assertEqual(Item.query.count(), 0) item = Item() db.session.add(item) db.session.flush() self.assertEqual(Item.query.count(), 1) item.delete() self.assertEqual(Item.query.count(), 0)
def test_delete(self): items = Item.query.all() assert len(items) == 0 item = Item() db.session.add(item) db.session.flush() items = Item.query.all() assert len(items) == 1 item.delete() items = Item.query.all() assert len(items) == 0
def test_create(self): items = Item.query.all() assert len(items) == 0 item_1 = Item.create('Type A') items = Item.query.all() assert len(items) == 1 assert items[0] == item_1 item_2 = Item.create('Type B') items = Item.query.all() assert len(items) == 2 assert item_1 in items and item_2 in items assert item_1 != item_2
def test_delete_by_item_id(self): self.assertEqual(ItemLink.query.count(), 0) linked_item = Item.create() link_1 = ItemLink(type=self.link_type, item_id=self.item_1.id, linked_id=linked_item.id) link_2 = ItemLink(type=self.link_type, item_id=self.item_2.id, linked_id=linked_item.id) db.session.add(link_1) db.session.add(link_2) db.session.flush() links = ItemLink.query.all() self.assertEqual(len(links), 2) self.assertIn(link_1, links) self.assertIn(link_2, links) ItemLink.delete_by_item_id(self.item_1.id) links = ItemLink.query.all() self.assertEqual(len(links), 1) self.assertNotIn(link_1, links) self.assertIn(link_2, links) ItemLink.delete_by_item_id(self.item_2.id) self.assertEqual(ItemLink.query.count(), 0)
def test_create(self): self.assertEqual(Item.query.count(), 0) item_1 = Item.create("Type A") items = Item.query.all() self.assertEqual(len(items), 1) self.assertEqual(items[0], item_1) item_2 = Item.create("Type B") items = Item.query.all() self.assertEqual(len(items), 2) self.assertIn(item_1, items) self.assertIn(item_2, items) self.assertNotEqual(item_1, item_2)
def item_data(item_id): """Get item's data, links, and map. :resheader Content-Type: *application/json* """ item = Item.get(item_id) if item is None: abort(404) return jsonify(item.to_dict())
def test_get(self): item = Item() db.session.add(item) db.session.flush() same_item = Item.get(item.id) self.assertEqual(item, same_item) missing_item = Editor.get("Unknown") self.assertIsNone(missing_item)
def test_list_index(self): item = Item.create() index = 'test' item_data = ItemData.create(item_id=item.id, data_json='{}', data_id='%s/album/lalala' % index) response = self.client.get("/data/%s" % index) self.assert200(response) response = self.client.get("/data/missing") self.assert404(response)
def test_get(self): item = Item() db.session.add(item) db.session.flush() same_item = Item.get(item.id) assert item == same_item missing_item = Editor.get('Unknown') assert missing_item is None
def test_list_index(self): item = Item.create() index = 'test' item_data = ItemData.create(item_id=item.id, data_json='{}', data_id='%s/album/lalala' % index) response = self.client.get("/api/1/data/%s" % index) self.assert200(response) self.assertEquals(response.json, dict(index=index, item_types=ItemData.get_item_types_by_index(index))) response = self.client.get("/api/1/data/missing") self.assert404(response)
def test_find_or_insert(self): links = ItemLink.query.all() assert len(links) == 0 link_type = 'test' test_item_1 = Item.create() test_item_2 = Item.create() link_1 = ItemLink.find_or_insert(test_item_1.id, test_item_2.id, link_type) links = ItemLink.query.all() assert len(links) == 1 assert links[0] == link_1 link_2 = ItemLink.find_or_insert(test_item_1.id, test_item_2.id, link_type) links = ItemLink.query.all() assert len(links) == 1 assert links[0] == link_2 assert link_1 == link_2
def test_delete(self): self.assertEqual(ItemRedirect.query.count(), 0) item = Item.create() redirect = ItemRedirect(old_id=42, new_id=item.id) db.session.add(redirect) db.session.flush() self.assertEqual(ItemRedirect.query.count(), 1) redirect.delete() self.assertEqual(ItemRedirect.query.count(), 0)
def test_list_items(self): item = Item.create() index = 'test' item_type = 'album' item_data = ItemData.create(item_id=item.id, data_json='{}', data_id='%s/%s/lalala' % (index, item_type)) response = self.client.get("/data/%s/%s" % (index, item_type)) self.assert200(response) response = self.client.get("/data/%s/missing" % index) self.assert404(response)
def test_item_links(self): item = Item.create() response = self.client.get("/api/1/item/%s/links" % item.id) self.assert200(response) response = self.client.get("/api/1/item/0%s/links" % item.id) self.assert200(response) response = self.client.get("/api/1/item/%s0/links" % item.id) self.assert404(response) response = self.client.get("/api/1/item/missing/links") self.assert404(response)
def test_item(self): item = Item.create() response = self.client.get("/item/%s" % item.id) self.assert200(response) response = self.client.get("/item/0%s" % item.id) self.assert200(response) response = self.client.get("/item/%s0" % item.id) self.assert404(response) response = self.client.get("/item/missing") self.assert404(response)
def test_data_item(self): item = Item.create() index = 'test' item_type = 'album' data_id = 'lalala' item_data = ItemData.create(item_id=item.id, data_json='{}', data_id='%s/%s/%s' % (index, item_type, data_id)) response = self.client.get("/data/%s/%s/%s" % (index, item_type, data_id)) self.assertEqual(response.status_code, 307) response = self.client.get("/data/%s/%s/missing" % (index, item_type)) self.assert404(response)
def test_item(self): item = Item.create() response = self.client.get("/api/1/item/%s" % item.id) self.assert200(response) response = self.client.get("/api/1/item/0%s" % item.id) self.assert200(response) self.assertEquals(response.json, item.to_dict()) response = self.client.get("/api/1/item/%s0" % item.id) self.assert404(response) response = self.client.get("/api/1/item/missing") self.assert404(response)
def test_data_item(self): item = Item.create() index = 'test' item_type = 'album' data_id = 'lalala' item_data = ItemData.create(item_id=item.id, data_json='{}', data_id='%s/%s/%s' % (index, item_type, data_id)) response = self.client.get("/api/1/data/%s/%s/%s" % (index, item_type, data_id)) self.assert200(response) self.assertEquals(response.json, dict( index=index, item_type=item_type, data_id=data_id, item_id=ItemData.data_to_item('/'.join([index, item_type, data_id])))) response = self.client.get("/api/1/data/%s/%s/missing" % (index, item_type)) self.assert404(response)
def test_delete(self): redirects = ItemRedirect.query.all() assert len(redirects) == 0 item = Item.create() redirect = ItemRedirect(old_id=42, new_id=item.id) db.session.add(redirect) db.session.flush() redirects = ItemRedirect.query.all() assert len(redirects) == 1 assert redirects[0] == redirect redirect.delete() redirects = ItemRedirect.query.all() assert len(redirects) == 0
def setUp(self): super(ItemLinkTestCase, self).setUp() self.link_type = 'test' self.item_1 = Item.create() self.item_2 = Item.create()
def show_item_map(item_id): item = Item.get(item_id).to_dict() data = map_item(item) print json.dumps({"data": data[0], "links": data[1]}, indent=4)
def show_item(item_id): """Show data for an item given an ID.""" print json.dumps(Item.get(item_id).to_dict(), indent=4)
def add_data_item(data_id, data_type, data_filename): """Add or update a data item given a data ID, a type, and the data to use.""" with open(data_filename) as f: data = f.read() item_id = geordi.data.add_data_item(data_id, data_type, data) print json.dumps(Item.get(item_id).to_dict(), indent=4)