Ejemplo n.º 1
0
    def test_uploadProduction_mixedFacilities(self):
        config = self.createConfig()

        with self.createPlantmonitorDB() as db:
            db.addFacilityMeterRelation(self.mainFacility(), '123401234')
            db.addFacilityMeterRelation(self.unexistantFacility(), '432104321')
            data = {
                self.mainFacility(): [
                    (todt("2040-01-02 01:00:00"), 50),
                    (todt("2040-01-02 02:00:00"), 70),
                ],
                self.unexistantFacility(): [
                    (todt("2040-01-02 01:00:00"), 10),
                    (todt("2040-01-02 02:00:00"), 20),
                ],
            }
            db.addMeterData(data)

        responses = upload_meter_data(configdb=config, test_env=True)

        self.assertDictEqual({
                self.mainFacility(): "OK",
                self.unexistantFacility(): "INVALID_FACILITY_ID: {}".format(self.unexistantFacility())
            },
            responses
        )
        with self.createApi() as api:
            self.assertEqual(api.lastDateUploaded(self.mainFacility()), todt("2040-01-02 02:00:00") - timedelta(hours=1))
            self.assertEqual(api.lastDateUploaded(self.unexistantFacility()), None)
Ejemplo n.º 2
0
    def test_uploadProductionFromDB_ExcludedFacilities(self):
        config = self.createConfig()

        #change this once the erp hourly-quarterly is fixed
        excludedFacility = 'test_facility'

        with self.createPlantmonitorDB() as db:
            db.addFacilityMeterRelation(excludedFacility, '432104321')
            db.addFacilityMeterRelation(self.mainFacility(), '123401234')
            data = {
                self.mainFacility(): [
                    (todt("2040-01-02 00:00:00"), 10),
                    (todt("2040-01-02 01:00:00"), 20),
                ],
                excludedFacility: [
                    (todt("2040-01-02 00:00:00"), 210),
                    (todt("2040-01-02 01:00:00"), 340),
                ],
            }
            db.addMeterData(data)

        responses = upload_meter_data(config, test_env=True)

        self.assertDictEqual(
            {self.mainFacility(): "OK"},
            responses
        )
Ejemplo n.º 3
0
    def test_uploadProductionFromDB(self):
        configdb = self.createConfig()

        with self.createPlantmonitorDB() as db:
            db.addFacilityMeterRelation(self.mainFacility(), '123401234')
            tworeadings = {
                self.mainFacility(): [
                    (todt("2040-01-02 01:00:00"), 10),
                    (todt("2040-01-02 02:00:00"), 20),
                ],
            }
            db.addMeterData(tworeadings)

        responses = upload_meter_data(configdb, test_env=True)
        self.assertDictEqual({self.mainFacility(): "OK"}, responses)

        # TODO check uploaded content from api if they ever add GetObservations
        with self.createApi() as api:
            self.assertEqual(api.lastDateUploaded(self.mainFacility()), todt("2040-01-02 02:00:00") - timedelta(hours=1))
Ejemplo n.º 4
0
    def test_uploadProductionFromDB_ManyFacilities(self):
        config = self.createConfig()

        with self.createPlantmonitorDB() as db:
            db.addFacilityMeterRelation(self.otherFacility(), '432104321')
            db.addFacilityMeterRelation(self.mainFacility(), '123401234')
            data = {
                self.mainFacility(): [
                    (todt("2040-01-02 00:00:00"), 10),
                    (todt("2040-01-02 01:00:00"), 20),
                ],
                self.otherFacility(): [
                    (todt("2040-01-02 00:00:00"), 210),
                    (todt("2040-01-02 01:00:00"), 340),
                ],
            }
            db.addMeterData(data)

        responses = upload_meter_data(config, test_env=True)

        self.assertDictEqual(
            {self.mainFacility(): "OK", self.otherFacility(): "OK"},
            responses
        )
Ejemplo n.º 5
0
 def test_import(self):
     config = self.createConfig()
     upload_meter_data(configdb=config, test_env=True)