def test_delete_family_protocol_association_nonexistent_association(self): db_session.add_all([self.protocol1, self.family1]) db_session.commit() q_str = '/api/protocol-family/{}/protocol/{}'.format( self.family1.family_id, self.protocol1.protocol_id) raw = self.app.delete(q_str) self.assertEqual(raw.status_code, 404)
def test_add_family_protocol_association_nonexistent_protocol(self): db_session.add_all([self.family1]) db_session.commit() q_str = '/api/protocol-family/{}/protocol/{}'.format( self.family1.family_id, 999) raw = self.app.post(q_str) self.assertEqual(404, raw.status_code)
def test_get_protocol_families(self): db_session.add_all([self.family1, self.family2]) db_session.commit() resp = json.loads(self.app.get('/api/protocol-family').data) self.assertEqual(resp, [self.family1.to_json(), self.family2.to_json()])
def test_add_family_protocol_association_successful(self): db_session.add_all([self.family1, self.protocol1]) db_session.commit() q_str = '/api/protocol-family/{}/protocol/{}'.format( self.family1.family_id, self.protocol1.protocol_id) self.app.post(q_str) pfp = ProtocolFamilyProtocol.query.first() self.assertEqual(pfp.family_id, self.family1.family_id) self.assertEqual(pfp.protocol_id, self.protocol1.protocol_id)
def test_connect_part_protocol(self): part = Part(element_id=1234) protocol = Protocol(value='Turn off the lights when leaving') db_session.add_all([part, protocol]) db_session.commit() raw = self.app.post('/api/part/{}/protocol/{}'.format( part.element_id, protocol.protocol_id)) resp = json.loads(raw.data) added = PartProtocol.query.first() self.assertEqual(resp, added.to_json())
def test_delete_family_protocol_association_successful(self): db_session.add_all([self.protocol1, self.family1]) db_session.commit() pfp = ProtocolFamilyProtocol(protocol_id=self.protocol1.protocol_id, family_id=self.family1.family_id) db_session.add(pfp) db_session.commit() q_str = '/api/protocol-family/{}/protocol/{}'.format( self.family1.family_id, self.protocol1.protocol_id) self.app.delete(q_str) pfp_change = ProtocolFamilyProtocol.query.first() self.assertIsNone(pfp_change)
def test_getting_some_users(self): db_session.add_all([self.user1, self.user2]) db_session.commit() resp = json.loads(self.app.get('/api/user').get_data()) self.assertEqual(len(resp), 2) if resp[0]['first_name'] == 'Brandon': self.assertEqual(resp[0], self.user1.to_json()) self.assertEqual(resp[1], self.user2.to_json()) else: self.assertEqual(resp[1], self.user1.to_json()) self.assertEqual(resp[0], self.user2.to_json())
def test_delete_part_protocol(self): db_session.add_all([self.part1, self.protocol1]) db_session.commit() pp = PartProtocol(part_id=self.part1.part_id, protocol_id=self.protocol1.protocol_id) db_session.add(pp) db_session.commit() raw = self.app.delete('/api/part/{}/protocol/{}'.format( self.part1.element_id, self.protocol1.protocol_id)) deleted = (PartProtocol.query.filter( PartProtocol.part_id == self.part1.part_id).first()) self.assertTrue(deleted is None)
def test_get_parts_for_building_by_building_name(self): db_session.add(self.building1) db_session.commit() self.part1.building_id = self.building1.building_id self.part2.building_id = self.building1.building_id db_session.add_all([self.part1, self.part2]) db_session.commit() raw = self.app.get('/api/building/{}/part'.format(self.building1.name)) resp = json.loads(raw.data) expected = self.building1.to_json() expected['parts'] = [self.part1.to_json(), self.part2.to_json()] self.assertEqual(resp, expected)
def test_get_some_protocols(self): p1 = Protocol(value='Don\'t touch the hot thing') p2 = Protocol(value='Turn off the lights when you leave') db_session.add_all([p1, p2]) db_session.commit() resp = json.loads(self.app.get('/api/protocol').get_data()) if resp[0]['value'].startswith('Turn'): self.assertEqual(p2.to_json(), resp[0]) self.assertEqual(p1.to_json(), resp[1]) else: self.assertEqual(p2.to_json(), resp[1]) self.assertEqual(p1.to_json(), resp[0])
def test_get_some_buildings(self): b1 = Building(name='Shelby') b2 = Building(name='Parker') db_session.add_all([b1, b2]) db_session.commit() resp = json.loads(self.app.get('/api/building').get_data()) self.assertEqual(len(resp), 2) if resp[0]['name'] == 'Shelby': self.assertEqual(b1.to_json(), resp[0]) self.assertEqual(b2.to_json(), resp[1]) else: self.assertEqual(b1.to_json(), resp[1]) self.assertEqual(b2.to_json(), resp[0])
def test_get_some_parts(self): p1 = Part(element_id=1234, building_id=3) p2 = Part(element_id=4567) db_session.add_all([p1, p2]) db_session.commit() resp = json.loads(self.app.get('/api/part').get_data()) self.assertEqual(len(resp), 2) if resp[0]['element_id'] == 1234: self.assertEqual(resp[0], p1.to_json()) self.assertEqual(resp[1], p2.to_json()) else: self.assertEqual(resp[1], p1.to_json()) self.assertEqual(resp[0], p2.to_json())
def test_get_protocols_for_family_successful(self): db_session.add_all([self.protocol1, self.protocol2, self.family1]) db_session.commit() pfp1 = ProtocolFamilyProtocol(protocol_id=self.protocol1.protocol_id, family_id=self.family1.family_id) pfp2 = ProtocolFamilyProtocol(protocol_id=self.protocol2.protocol_id, family_id=self.family1.family_id) db_session.add_all([pfp1, pfp2]) db_session.commit() q_str = '/api/protocol-family/{}'.format(self.family1.family_id) resp = json.loads(self.app.get(q_str).data) expected = { 'family_id': self.family1.family_id, 'family_name': self.family1.family_name, 'protocols': [self.protocol1.to_json(), self.protocol2.to_json()] } self.assertEqual(resp, expected)
def test_get_protocols_by_part(self): part = Part(element_id=1234) protocol = Protocol(value='Turn off the lights when leaving') other_protocol = Protocol(value='Wash your hands') db_session.add_all([part, protocol, other_protocol]) db_session.commit() part_protocol = PartProtocol(part_id=part.part_id, protocol_id=protocol.protocol_id) db_session.add(part_protocol) db_session.commit() raw = self.app.get('/api/part/{}/protocol'.format(part.element_id)) resp = json.loads(raw.get_data()) expected = { 'part_id': part.part_id, 'element_id': part.element_id, 'protocols': [protocol.to_json()] } self.assertEqual(resp, expected)
def test_delete_part_protocol_no_connection_fails(self): db_session.add_all([self.part1, self.protocol1]) db_session.commit() raw = self.app.delete('/api/part/{}/protocol/{}'.format( self.part1.element_id, self.protocol1.protocol_id)) self.assertEqual(raw.status_code, 404)