Beispiel #1
0
def index():
   endpoints_reader = LoadData()
   data = Processor()
   df_csv, df_json = endpoints_reader.read_data()
   summary_csv_info, summary_json_info = data.process_endpoints(df_csv, df_json)
   return 'Service A result: ' + summary_csv_info + \
           '\n' + 'Service B result: ' +  summary_json_info
 def test_load_data_full_csv(self):
    endpoints_reader = LoadData()
    json_link = '[{"date":"22-01-2021", "impressions":1376}, \
                  {"date":"21-01-2021","impressions":1906}, \
                  {"date":"20-01-2021","impressions":2818}, \
                  {"date":"19-01-2021","impressions":1024}]'
    csv_link = 'mock_unittest.csv'
    csv_file, _ = endpoints_reader.read_data(csv_link, json_link)
    self.assertEqual(csv_file.shape[0], 2)
 def test_processor(self):
   endpoints_reader = LoadData()
   data = Processor()
   json_link = '[{"date":"22-01-2021", "impressions":1376}, \
                  {"date":"21-01-2021","impressions":1906}, \
                  {"date":"20-01-2021","impressions":2818}, \
                  {"date":"19-01-2021","impressions":1024}]'
   csv_link = 'mock_unittest.csv'
   df_csv, df_json = endpoints_reader.read_data(csv_link, json_link)
   summary_csv_info, summary_json_info = data.process_endpoints(df_csv, df_json)
   self.assertEqual(str(summary_csv_info), '{"mean": 1732.0, "sum": 3464}')
   self.assertEqual(str(summary_json_info), '{"mean": 1781.0, "sum": 7124}')
    def test_load_data_expect_summean_when_links_are_valid(self):

       endpoints_reader = LoadData()
       data = Processor()
       json_link = '[{"date":"22-01-2021","impressions": 1376}, \
       {"date":"21-01-2021","impressions": 1906},{"date":"20-01-2021","impressions": 2818},\
       {"date":"19-01-2021","impressions": 1024}, \
       {"date":"18-01-2021","impressions": 646},{"date":"17-01-2021","impressions": 2885}, \
       {"date":"16-01-2021","impressions": 1889},{"date":"15-01-2021","impressions": 1534}, \
       {"date":"14-01-2021","impressions": 995},{"date":"13-01-2021","impressions": 1251}, \
       {"date":"12-01-2021","impressions": 2062},{"date":"11-01-2021","impressions": 1204}, \
       {"date":"10-01-2021","impressions": 2030},{"date":"09-01-2021","impressions": 1166}, \
       {"date":"08-01-2021","impressions": 2025},{"date":"07-01-2021","impressions": 1221}, \
       {"date":"06-01-2021","impressions": 2018},{"date":"05-01-2021","impressions": 2484}, \
       {"date":"04-01-2021","impressions": 1145},{"date":"03-01-2021","impressions": 2686}, \
       {"date":"02-01-2021","impressions": 2186},{"date":"01-01-2021","impressions": 1527}, \
       {"date":"31-12-2020","impressions": 1710},{"date":"30-12-2020","impressions": 1343}, \
       {"date":"29-12-2020","impressions": 2466},{"date":"28-12-2020","impressions": 952}, \
       {"date":"27-12-2020","impressions": 532},{"date":"26-12-2020","impressions": 2690}, \
       {"date":"25-12-2020","impressions": 2428},{"date":"24-12-2020","impressions": 602}, \
       {"date":"23-12-2020","impressions": 995},{"date":"22-12-2020","impressions": 615}, \
       {"date":"21-12-2020","impressions": 2055},{"date":"20-12-2020","impressions": 1337}, \
       {"date":"19-12-2020","impressions": 1824},{"date":"18-12-2020","impressions": 1645}, \
       {"date":"17-12-2020","impressions": 2655},{"date":"16-12-2020","impressions": 2619}, \
       {"date":"15-12-2020","impressions": 1189},{"date":"14-12-2020","impressions": 2391}, \
       {"date":"13-12-2020","impressions": 1612},{"date":"12-12-2020","impressions": 510}, \
       {"date":"11-12-2020","impressions": 2655},{"date":"10-12-2020","impressions": 2029}, \
       {"date":"09-12-2020","impressions": 2899},{"date":"08-12-2020","impressions": 1170}, \
       {"date":"07-12-2020","impressions": 526},{"date":"06-12-2020","impressions": 2092}, \
       {"date":"05-12-2020","impressions": 1453},{"date":"04-12-2020","impressions": 738}, \
       {"date":"03-12-2020","impressions": 700},{"date":"02-12-2020","impressions": 1485}, \
       {"date":"01-12-2020","impressions": 1571},{"date":"30-11-2020","impressions": 2106}, \
       {"date":"29-11-2020","impressions": 2646},{"date":"28-11-2020","impressions": 1092}, \
       {"date":"27-11-2020","impressions": 1495},{"date":"26-11-2020","impressions": 2356}, \
       {"date":"25-11-2020","impressions": 1474},{"date":"24-11-2020","impressions": 1431}, \
       {"date":"23-11-2020","impressions": 1359},{"date":"22-11-2020","impressions": 1420}]'
       csv_link = 'ba026992-281a-42a6-8447-ae1c8a04106e.csv'
       csv_file, json_file = endpoints_reader.read_data(csv_link, json_link)
       summary_csv_info, summary_json_info = data.process_endpoints(csv_file, json_file)
       print(summary_csv_info, summary_json_info)
       self.assertEqual(str(summary_csv_info), '{"mean": 1781.85, "sum": 110475}')
       self.assertEqual(str(summary_json_info), '{"mean": 1660.4, "sum": 102945}')
 def test_load_data_when_expect_none_when_links_are_invalid(self):
    endpoints_reader = LoadData()
    #self.data = processor.Processor()
    print('Breaking CSV AND JSON file load for testing purpose: ')
    csv_file, json_file = endpoints_reader.read_data('https://', 'https://')
    self.assertIsNone(csv_file)