class TestWebUiConfig(object): def setup_method(self, method): self.c = Epipearl(epiphan_url, epiphan_user, epiphan_passwd) @httpretty.activate def test_set_ntp_ok(self): resp_data = resp_datafile('set_date_and_time', 'ok') httpretty.register_uri( httpretty.POST, '%s/admin/timesynccfg' % epiphan_url, body=resp_data) response = self.c.set_ntp( server='north-america.pool.ntp.org', timezone='US/Alaska') assert response @httpretty.activate def test_set_ntp_invalid_tz(self): resp_data = resp_datafile('set_date_and_time', 'invalid_tz') httpretty.register_uri( httpretty.POST, '%s/admin/timesynccfg' % epiphan_url, body=resp_data) with pytest.raises(SettingConfigError) as e: self.c.set_ntp( server='north-america.pool.ntp.org', timezone='xuxu') assert 'Unsupported time zone' in e.value.message @httpretty.activate def test_set_ntp_server_did_not_take(self): resp_data = resp_datafile('set_date_and_time', 'ok') httpretty.register_uri( httpretty.POST, '%s/admin/timesynccfg' % epiphan_url, body=resp_data) with pytest.raises(SettingConfigError) as e: self.c.set_ntp(server='google.com', timezone='US/Alaska') assert 'expected ntp server(google.com)' in e.value.message @httpretty.activate def test_set_ntp_server_error(self): httpretty.register_uri( httpretty.POST, '%s/admin/timesynccfg' % epiphan_url, body='does not matter', status=501) with pytest.raises(requests.HTTPError) as e: self.c.set_ntp(server='google.com', timezone='US/Alaska') assert 'Server Error' in e.value.message