diff --git a/SAS/MoM/MoMQueryService/MoMQueryServiceServer/momqueryservice.py b/SAS/MoM/MoMQueryService/MoMQueryServiceServer/momqueryservice.py index 33535e1363948bc94a4c509c407e76cefbd4511f..8e0907151b01e223fb50084b0026d405e2d5cea6 100755 --- a/SAS/MoM/MoMQueryService/MoMQueryServiceServer/momqueryservice.py +++ b/SAS/MoM/MoMQueryService/MoMQueryServiceServer/momqueryservice.py @@ -494,7 +494,7 @@ where project.mom2id = %s and (project_role.name = "Pi" or project_role.name = " left join mom2objectstatus as mostatus on object.currentstatusid = mostatus.id inner join status on mostatus.statusid = status.id left join mom2object as parent_grp on parent_grp.id = grp.parentid - where object.mom2id in %s + where object.mom2id in (%s) order by project_mom2id ''' % placeholder diff --git a/SAS/MoM/MoMQueryService/test/test_momqueryservice.py b/SAS/MoM/MoMQueryService/test/test_momqueryservice.py index d4211e980cc4b89a1ebe40a8f561abe597f86150..103e57dd40d7861a006f178ff53f1ddde31a9c8e 100755 --- a/SAS/MoM/MoMQueryService/test/test_momqueryservice.py +++ b/SAS/MoM/MoMQueryService/test/test_momqueryservice.py @@ -1283,7 +1283,6 @@ class IntegrationTestMoMDatabaseWrapper(unittest.TestCase): cursor.close() return ret - def test_is_project_active_returns_false_on_empty_mom2object_table(self): self.assertFalse(self.mom_database_wrapper.is_project_active("project_name")) @@ -1543,6 +1542,43 @@ class IntegrationTestMoMDatabaseWrapper(unittest.TestCase): self.assertEqual(result, {"pi_email": u"pi@example.com", "author_email": u"author@example.com"}) + def test_get_object_details_returns_empty_dict_on_empty_database(self): + + result = self.mom_database_wrapper.getObjectDetails(1234) + self.assertEqual(result, {}) + + def test_get_object_details_returns_correct_details(self): + + oid = 2345 + statusid = 101 + status = 'opened' + pname = 'myproject_'+str(1) + + self.execute("insert into mom2object values(%s, NULL, NULL, %s, 'PROJECT', '%s', 'x', " + "NULL, %s, NULL, NULL, 0, 0, 0)" + % (1, 1, pname, statusid)) + + self.execute("insert into project values(%s, %s, '2012-09-14', FALSE, 0)" + % (1, 1)) + + self.execute("insert into mom2object values(%s, NULL, NULL, %s , 'OBSERVATION', 'x', " + "'x', %s, %s, 'x', 'x', 0, NULL," + " 0)" + % (2, oid, 1, statusid)) + + self.execute("insert into status values(%s, '%s', 'OBSERVATION', %s)" % (statusid, status, statusid)) + + self.execute("insert into mom2objectstatus values(%s, 'PI','LTA User', %s, %s, %s, 0, '2012-12-18 09:47:50', 0)" + % (statusid, statusid, statusid, oid)) + + result = self.mom_database_wrapper.getObjectDetails(oid) + + self.assertTrue(str(oid) in result.keys()) + self.assertEqual(result[str(oid)]['object_mom2id'], oid) + self.assertEqual(result[str(oid)]['object_status'], status) + self.assertEqual(result[str(oid)]['project_name'], pname) + + def test_get_project_priorities_for_objects_returns_correct_priorities(self): object_ids = [3344, 1234, 7654] @@ -1560,12 +1596,12 @@ class IntegrationTestMoMDatabaseWrapper(unittest.TestCase): % (eid, eid, 'myproject_'+str(i))) self.execute("insert into project values(%s, %s, '2012-09-14', FALSE, %s)" - % (eid, eid, prio)) # unique id in project table, refer to mom2object of our project + % (eid, eid, prio)) # unique id in project table, refer to mom2object of our project self.execute("insert into mom2object values(%s, NULL, NULL, %s , 'PIPELINE', 'x', " "'x', %s, NULL, 'x', 'x', 0, NULL," " 0)" - % (eid+100, oid, eid)) # unique id for the pipeline, refer to project id + % (eid+100, oid, eid)) # unique id for the pipeline, refer to project id return_value = self.mom_database_wrapper.get_project_priorities_for_objects(object_ids)