def test_get_name(self, mock_servstatus, mock_val_id, mock_val_name): """ Assumptions: - name argument given """ test_name = "test_name" ServerStatusOp.get(name=test_name) self.assertFalse(mock_val_id.called) self.assertTrue(mock_val_name.called) self.assertTrue(mock_servstatus.query.filter_by.called) exp_calls = [mock.call(name=test_name), mock.call().all()] mock_servstatus.query.filter_by.assert_has_calls(exp_calls)
def case_delete_records(self, refresh_db_before): """ Create new record in ServerStatus table and then delete it.""" new_status = "NewStatus" ServerStatusOp.add(new_status) status_obj = ServerStatusOp.get(name=new_status) self.assertTrue(len(status_obj) is 1) self.assertEqual(status_obj[0].name, new_status) ServerStatusOp.delete(status_obj[0]) status_obj = ServerStatusOp.get(name=new_status) self.assertFalse(status_obj)
def case_get_by_name_one_result(self, refresh_db_before): """ Create test records in ServerStatus table and get them by name.""" statuses_with_id = {"Status_one": 1, "Status_two": 2} for status in statuses_with_id.keys(): ServerStatusOp.add(status) for exp_status, exp_id in statuses_with_id.items(): stat_obj = ServerStatusOp.get(name=exp_status) self.assertTrue(len(stat_obj) is 1) self.assertEqual(exp_status, stat_obj[0].name) self.assertEqual(exp_id, stat_obj[0].id)
def case_add_records(self, refresh_db_before): """ Add new records to ServerStatus table.""" new_statuses = ["Status_one", "Status_two"] for status in new_statuses: ServerStatusOp.add(status) check_records = ServerStatusOp.get() self.assertEqual(len(check_records), len(new_statuses)) for record, exp_status in zip(check_records, new_statuses): self.assertTrue(isinstance(record, ServerStatus)) self.assertEqual(record.name, exp_status)
def case_update_record(self, refresh_db_before): """ Create test record in ServerStatus table and then update it.""" original_status = "StatusOrig" update_status = "StatusUpdate" original_stat_obj = ServerStatusOp.add(original_status) updated_stat_local = ServerStatusOp.update(original_stat_obj, update_status) self.assertEqual(updated_stat_local.name, update_status) updated_stat_get = ServerStatusOp.get(name=update_status) self.assertTrue(len(updated_stat_get) is 1) self.assertEqual(updated_stat_get[0].name, update_status) self.assertEqual(updated_stat_get[0].id, original_stat_obj.id)
def resolve_status(cls, status_name): """ Find ServerStatus record according to given name. Return ID of status row. Args: status_name(str): ServerStatus record name Returns: status_id(int): ServerStatus record ID """ status_results = ServerStatusOp.get(name=status_name) if len(status_results) is not 1: raise ServerStatusNotFoundError(f'Not found status name: "{status_name}".') status_id = status_results[0].id return status_id