Esempio n. 1
0
    def test_confirm_assumption_8_hours_over_2_days(self):
        if skip_inverter_quirk_tests:
            self.skipTest('skipped test due to SKIP_INVERTER_QUIRK_TESTS')
        else:
            fi = FroniusInverter(inverter_ip)
            day = datetime.datetime(year=2017, month=11, day=4, hour=20, minute=0, second=0)
            data_1_day_J = fi.get_historical_data_json(day, day + datetime.timedelta(hours=8), ["Current_AC_Phase_1"])

            request_start = data_1_day_J['Head']['RequestArguments']['StartDate']
            expected_request_start = '2017-11-04T00:00:00+01:00'
            request_end = data_1_day_J['Head']['RequestArguments']['EndDate']
            expected_request_end = '2017-11-05T23:59:59+01:00'
            self.assertEqual(request_start, expected_request_start)
            self.assertEqual(request_end, expected_request_end)
Esempio n. 2
0
    def test_confirm_assumption_Server_cannot_accept_any_TZ(self):
        """
            the server will return invalid date format (too much segments) '2017-10-31+20%3A00%3A00-08%3A00' error
            when sending datetimes in UTC+8
        """
        if skip_inverter_quirk_tests:
            self.skipTest('skipped test due to SKIP_INVERTER_QUIRK_TESTS')
        else:
            fi = FroniusInverter(inverter_ip)

            t1_utc_8 = datetime.datetime(year=2017, month=11, day=1, hour=4) - datetime.timedelta(hours=8)
            t1_utc_8 = pytz.timezone('Etc/GMT+8').localize(t1_utc_8, is_dst=None)

            data_1_day_J = fi.get_historical_data_json(t1_utc_8, t1_utc_8 + datetime.timedelta(hours=24), ["Current_AC_Phase_1"])

            faj = FroniusArchiveJson(data_1_day_J)
            self.assertEqual(faj.error_code(), 255)
Esempio n. 3
0
    def test_confirm_assumption_Server_uses_UTC(self):
        """
        assume the server returns a full day of data on a given UTC date, and interprets the data as UTC

        try sending it UTC +1 data that covers 1 day in UTC and 2 days in UTC+1:
            06:00 - 23:59  UTC
            14:00 - 08:59  UTC +1
            confirm that only data of day 1 is returned
        """

        if skip_inverter_quirk_tests:
            self.skipTest('skipped test due to SKIP_INVERTER_QUIRK_TESTS')
        else:
            fi = FroniusInverter(inverter_ip)
            day = datetime.datetime(year=2017, month=11, day=4, hour=20, minute=0, second=0)
            data_1_day_J = fi.get_historical_data_json(day, day + datetime.timedelta(hours=8), ["Current_AC_Phase_1"])

            request_start = data_1_day_J['Head']['RequestArguments']['StartDate']
            expected_request_start = '2017-11-04T00:00:00+01:00'
            request_end = data_1_day_J['Head']['RequestArguments']['EndDate']
            expected_request_end = '2017-11-05T23:59:59+01:00'
            self.assertEqual(request_start, expected_request_start)
            self.assertEqual(request_end, expected_request_end)