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)
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)
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)