Exemple #1
0
    def test_jcmt_available(self):
        """
        Test methods associated with the "jcmt_available" table.
        """

        (queue_id, call_id) = self._create_test_call()

        records = self.db.search_jcmt_available(call_id)

        self.assertIsInstance(records, JCMTAvailableCollection)
        self.assertEqual(len(records), 0)

        records = JCMTAvailableCollection()
        records[1] = JCMTAvailable(None, 1, JCMTWeather.BAND1, 100.0)

        with self.assertRaisesRegexp(ConsistencyError, 'call does not exist'):
            self.db.sync_jcmt_call_available(1999999, records)

        n = self.db.sync_jcmt_call_available(call_id, records)

        self.assertEqual(n, (1, 0, 0))

        records = self.db.search_jcmt_available(call_id=call_id)

        self.assertIsInstance(records, JCMTAvailableCollection)
        self.assertEqual(len(records), 1)

        for (id_, record) in records.items():
            self.assertIsInstance(id_, int)
            self.assertIsInstance(record, JCMTAvailable)
            self.assertEqual(record.id, id_)
            self.assertEqual(record.weather, JCMTWeather.BAND1)
            self.assertEqual(record.time, 100.0)