def main(): """main program entry point""" args = parse_args() print("Config:", args.username, args.channel, args.path, args.url) client = ef.Client(args.username, args.password, args.url) try: login_ok, login_response = client.login() print("Login:"******"Error authenticating", login_response) return value = None try: value = json.load(open(args.path)) except IOError as error: print("Error opening file", args.path, str(error)) return event = ef.Event(value, args.channel) send_ok, send_response = client.send_event(event) print("Send Event:", send_ok) if not send_ok: print("Error sending event", send_response) return except requests.exceptions.ConnectionError as conn_error: print("Error connection to server", args.url, str(conn_error)) return
def main(): "program entry point" args = parse_args() print("Config:", args.username, args.channel, args.names, args.sleep) client = ef.Client(args.username, args.password, args.url) try: login_ok, login_response = client.login() print("Login:"******"Error authenticating", login_response) return except requests.exceptions.ConnectionError as conn_error: print("Error connection to server", args.url, str(conn_error)) return for name in args.names: service_runner = ServiceRunner(name, args.channel, client, args.sleep) service_runner.start() while True: try: time.sleep(1) except KeyboardInterrupt: print("Keyboard interrupt, closing") break
def test_client_creation(self): "test that the client is created and parameters are set correctly" client = ef.Client(USERNAME, PASSWORD, "http://localhost:8080/") self.assertEqual(client.username, USERNAME) self.assertEqual(client.password, PASSWORD) self.assertEqual(client.root_url, "http://localhost:8080/") self.assertEqual(client.credentials["username"], USERNAME) self.assertEqual(client.credentials["password"], PASSWORD)
def test_login(self): client = ef.Client(USERNAME, PASSWORD, "http://localhost:8080/") storage = [] requester = fake_post(storage, FakeResponse(200)) status, response = client.login(requester) args, kwargs = storage.pop() endpoint = args[0] data_arg = kwargs["data"] headers = kwargs["headers"] self.assertTrue(status) self.assertEqual(response.status_code, 200) self.assertEqual(data_arg, json.dumps(client.credentials)) self.assertEqual(headers["content-type"], "application/json") self.assertEqual(endpoint, "http://localhost:8080/sessions")
def test_send_event(self): client = ef.Client(USERNAME, PASSWORD, "http://localhost:8080/") storage = [] requester = fake_post(storage, FakeResponse(201)) data = {"text": "bob", "percentage": 10} channel = "my.channel" event = ef.Event(data, channel) status, response = client.send_event(event, requester) args, kwargs = storage.pop() endpoint = args[0] data_arg = kwargs["data"] headers = kwargs["headers"] self.assertTrue(status) self.assertEqual(response.status_code, 201) self.assertEqual(data_arg, json.dumps(event.json["value"])) self.assertEqual(headers["content-type"], "application/json") self.assertEqual( endpoint, "http://localhost:8080/streams/" + USERNAME + "/" + channel + "/")
def test_endpoint(self): "tests that endpoints are created correctly" client = ef.Client(USERNAME, PASSWORD, "http://localhost:8080/") self.assertEqual(client.endpoint("sessions"), "http://localhost:8080/sessions")