def test_traffic_client_visits_completes_full_url(): target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=monthly&start=11-2014&end=12-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_good_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") client.visits("example.com", "monthly", "11-2014", "12-2014", False) assert client.full_url == target_url
def test_traffic_client_visits_response_from_bad_granularity(): expected = {"Error": "The field Gr is invalid."} target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=bad" "&start=11-2014&end=12-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_granularity_bad_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("example.com", "bad", "11-2014", "12-2014", False) assert result == expected
def test_traffic_client_visits_response_from_malformed_url_incl_http(): expected = {"Error": "Malformed or Unknown URL"} target_url = ("https://api.similarweb.com/Site/" "https://example.com/v1/visits?gr=monthly" "&start=11-2014&end=12-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_url_with_http_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("https://example.com", "monthly", "11-2014", "12-2014", False) assert result == expected
def test_traffic_client_visits_response_from_good_inputs(): expected = {"2014-11-01": 12897241, "2014-12-01": 13917811} target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=monthly" "&start=11-2014&end=12-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_good_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("example.com", "monthly", "11-2014", "12-2014", False) assert result == expected
def test_traffic_client_visits_response_from_bad_main_domain(): expected = {"Error": "The value 'other' is not valid for Md."} target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=monthly" "&start=11-2014&end=12-2014" "&md=other&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_main_domain_bad_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("example.com", "monthly", "11-2014", "12-2014", "other") assert result == expected
def test_traffic_client_visits_response_from_out_of_order_dates(): expected = {"Error": "Date range is not valid"} target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=monthly" "&start=12-2014&end=9-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_out_of_order_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("example.com", "monthly", "12-2014", "9-2014", False) assert result == expected
def test_traffic_client_visits_response_from_bad_end_date(): expected = {"Error": "The value '0-2014' is not valid for End."} target_url = ("https://api.similarweb.com/Site/" "example.com/v1/visits?gr=monthly" "&start=11-2014&end=0-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_end_bad_response.json".format(TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("example.com", "monthly", "11-2014", "0-2014", False) assert result == expected
def test_traffic_client_visits_response_from_malformed_url_incl_http(): expected = {"Error": "Malformed or Unknown URL"} target_url = ("https://api.similarweb.com/Site/" "https://example.com/v1/visits?gr=monthly" "&start=11-2014&end=12-2014" "&md=False&UserKey=test_key") f = "{0}/fixtures/traffic_client_visits_url_with_http_response.json".format( TD) with open(f) as data_file: stringified = json.dumps(json.load(data_file)) httpretty.register_uri(httpretty.GET, target_url, body=stringified) client = TrafficClient("test_key") result = client.visits("https://example.com", "monthly", "11-2014", "12-2014", False) assert result == expected