def test_start_and_stop_at_command(self): start_delay = 5 stop_delay = 10 request = grammar.Message(message_type = grammar.REQUEST, name = "start", arguments = [time_to_string(time.time() + \ start_delay)]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) request = grammar.Message(message_type = grammar.REQUEST, name = "stop", arguments = [time_to_string(time.time() + \ stop_delay)]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) request = grammar.Message(message_type=grammar.REQUEST, name="status") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.arguments[2], "0") time.sleep(start_delay) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.arguments[2], "1") time.sleep(stop_delay - start_delay) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.arguments[2], "0")
def test_bad_set_section_command(self): request = grammar.Message( message_type=grammar.REQUEST, name="set-section", arguments=['ciao', '*', '*', '*', '*', '*', '*']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL) request = grammar.Message(message_type=grammar.REQUEST, name="set-section", arguments=[ '1', 'wrong', '500.23', '3', 'FullStokes', '10', '2048' ]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL) request = grammar.Message( message_type=grammar.REQUEST, name="set-section", arguments=['1', '234.0', 'wrong', '3', 'FullStokes', '10', '2048']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL) request = grammar.Message(message_type=grammar.REQUEST, name="set-section", arguments=['1', '234.0']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_start_now_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="start") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) request = grammar.Message(message_type=grammar.REQUEST, name="status") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.arguments[2], "1")
def test_cal_on_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="cal-on", arguments=['1']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) #test also default argument request = grammar.Message(message_type=grammar.REQUEST, name="cal-on") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK)
def test_bad_cal_on_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="cal-on", arguments=['wrong']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL) request = grammar.Message(message_type=grammar.REQUEST, name="cal-on", arguments=['-10']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_set_integration_command(self): integration = 10 request = grammar.Message(message_type=grammar.REQUEST, name="set-integration", arguments=[str(integration)]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) request = grammar.Message(message_type=grammar.REQUEST, name="get-integration") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) self.assertEqual(int(reply.arguments[0]), integration)
def test_set_configuration_command(self): conf_name = "testconfiguration" request = grammar.Message(message_type=grammar.REQUEST, name="set-configuration", arguments=[conf_name]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) request = grammar.Message(message_type=grammar.REQUEST, name="get-configuration") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) self.assertEqual(reply.arguments[0], conf_name)
def test_set_enable_feeds_out_of_range(self): # Feed 1 out of range request = grammar.Message(message_type=grammar.REQUEST, name="set-enable", arguments=['4', '1']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL) # Feed 2 out of range request = grammar.Message(message_type=grammar.REQUEST, name="set-enable", arguments=['0', '2']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_get_configuration_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="get-configuration") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) self.assertEqual(reply.arguments[0], "unconfigured")
def test_bad_set_filename_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="set-filename", arguments=[]) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_set_enable_wrong_parameter_type(self): request = grammar.Message(message_type=grammar.REQUEST, name="set-enable", arguments=['foo', 'bar']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_set_enable_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="set-enable", arguments=['0', '1']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK)
def set_bad_integration_string_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="set-integration", arguments=['ciao']) self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_get_tp0_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="get-tp0") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) for tpi in map(float, reply.arguments): self.assertEqual(tpi, 0)
def test_time_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="time") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) self.assertAlmostEqual(time.time(), float(reply.arguments[0]), delta=0.5)
def test_undefined_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="badcommand") logger.debug(request) self.client.send_message(request) reply = self.client.read_message() logger.debug(reply) self.assertEqual(reply.code, grammar.FAIL)
def test_good_request_with_arguments(self): request = grammar.Message(message_type=grammar.REQUEST, name="prova", arguments=["arg1", "arg2"]) self.client.send_message(request) reply = self.client.read_message() self.assertTrue(reply.is_correct_reply(request)) self.assertEqual(reply.code, grammar.OK) self.assertEqual(request.arguments, reply.arguments)
def setUp(self): self.request = grammar.Message(message_type=grammar.REQUEST, name="req") self.reply = grammar.Message(message_type=grammar.REPLY, name="req", code=grammar.OK)
def test_version_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="version") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.OK) self.assertEqual(reply.arguments[0], PROTOCOL_VERSION)
def test_set_enable_less_than_2_feeds(self): request = grammar.Message(message_type=grammar.REQUEST, name="set-enable") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)
def test_good_request_without_argument(self): request = grammar.Message(message_type=grammar.REQUEST, name="prova") self.client.send_message(request) reply = self.client.read_message() self.assertTrue(reply.is_correct_reply(request)) self.assertEqual(reply.code, grammar.OK)
def test_stop_not_started_command(self): request = grammar.Message(message_type=grammar.REQUEST, name="stop") self.client.send_message(request) reply = self.client.read_message() self.assertEqual(reply.code, grammar.FAIL)