def test_register(self): admin = active_user("admin", "nimda123") token = admin.login() url = "http://localhost:8765/energy/api/Admin/users/tester1" response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertEqual(response.status_code, 200) admin.logout() tester = active_user("tester1", "password") token = tester.login() url = "http://localhost:8765/energy/api/Admin/users/tester1" response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertEqual(response.status_code, 401) tester.logout()
def test_modufyInfo(self): admin = active_user("admin", "nimda123") token = admin.login() source = "test_file.csv" url = "http://localhost:8765/energy/api/Admin/ActualTotalLoad" with open(source, "r") as f: response = requests.post(url, files=dict(file=f), headers={"X-OBSERVATORY-AUTH": token}) self.assertEqual(response.status_code, 200) admin = active_user("admin", "nimda123") url = "http://localhost:8765/energy/api/ActualTotalLoad/DE-AT-LU/PT60M/year/1075" response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertEqual(response.status_code, 200) admin.logout()
def test_ValuesPerMonth(self): url = "http://localhost:8765/energy/api/ActualTotalLoad/Slovenia/PT15M/year/2018" admin = active_user("admin", "nimda123") token = admin.login() response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: if packet['Month'] < 10: month = "0" + str(packet['Month']) else: month = str(packet['Month']) total = 0 month_response = requests.get("http://localhost:8765/energy/api/ActualTotalLoad/Slovenia/PT15M/month/2018-%s" % str( month ), \ headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue(month_response.status_code == 200 or month_response.status_code == 403) if month_response.status_code == 403: admin.logout() return month_data = month_response.json() for month_packet in month_data: total += float(month_packet['ActualTotalLoadByDayValue']) self.assertEqual(round(total, 3), float(packet['ActualTotalLoadByMonthValue'])) admin.logout()
def test_ValuesPerDay(self): url = "http://localhost:8765/energy/api/ActualTotalLoad/Montenegro/PT15M/month/2018-01" admin = active_user("admin", "nimda123") token = admin.login() response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: if packet['Day'] < 10: day = "0" + str(packet['Day']) else: day = str(packet['Day']) total = 0 day_response = requests.get("http://localhost:8765/energy/api/ActualTotalLoad/Montenegro/PT15M/date/2018-01-%s" % str( day ), \ headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue(day_response.status_code == 200 or day_response.status_code == 403) if day_response.status_code == 403: admin.logout() return day_data = day_response.json() for day_packet in day_data: total += float(day_packet['ActualTotalLoadValue']) self.assertEqual(round(total, 3), float(packet['ActualTotalLoadByDayValue'])) admin.logout()
def test_AllTypesParameters(self): admin = active_user("admin", "nimda123") token = admin.login() urls = [ "http://localhost:8765/energy/api/AggregatedGenerationPerType/Austria/AllTypes/PT60M/date/2018-01-06", \ "http://localhost:8765/energy/api/AggregatedGenerationPerType/Austria/AllTypes/PT60M/month/2018-01", \ "http://localhost:8765/energy/api/AggregatedGenerationPerType/Austria/AllTypes/PT60M/year/2018" ] for url in urls: response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: self.assertEqual(packet['AreaName'], 'Austria') self.assertEqual(packet['ResolutionCode'], 'PT60M') self.assertEqual(packet['Year'], 2018) self.assertTrue( packet['ProductionType'] in prod_types.values()) if 'ActualGenerationOutputValue' in packet.keys(): self.assertEqual(packet['Day'], 6) self.assertEqual(packet['Month'], 1) elif 'ActualGenerationOutputByDayValue' in packet.keys(): self.assertEqual(packet['Month'], 1) admin.logout()
def test_adminQuota( self ): admin = active_user( "admin", "nimda123" ) token = admin.login() response = requests.get("http://localhost:8765/energy/api/Admin/users/admin", headers = { "X-OBSERVATORY-AUTH": token } ) quota = response.json()[ 'remaining_quota' ] url = "http://localhost:8765/energy/api/ActualTotalLoad/Montenegro/PT15M/month/2018-01" requests.get( url, headers = { "X-OBSERVATORY-AUTH": token } ) response = requests.get("http://localhost:8765/energy/api/Admin/users/admin", headers = { "X-OBSERVATORY-AUTH": token } ) new_data = response.json() new_quota = new_data[ 'remaining_quota' ] self.assertTrue( new_quota, quota )
def test_modifyInfo( self ): admin = active_user( "admin","nimda123") token = admin.login() modify_data = { 'username': '******', 'email': '*****@*****.**', 'passw': 'password', 'quota': '0', 'admin' : 'False'} url = "http://*****:*****@test.gr' ) admin.logout()
def test_ValuesPerDay( self ): url = "http://localhost:8765/energy/api/ActualvsForecast/Slovakia/PT15M/month/2018-01" admin = active_user( "admin", "nimda123" ) token = admin.login() response = requests.get( url, headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue( response.status_code == 200 or response.status_code == 403 ) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: if packet[ 'Day' ] < 10: day = "0" + str( packet[ 'Day' ] ) else: day = str( packet[ 'Day' ] ) actual_total, forecast_total = 0, 0 url_actual = "http://localhost:8765/energy/api/ActualTotalLoad/Slovakia/PT15M/date/2018-01-%s" % str( day ) url_forecast = "http://localhost:8765/energy/api/DayAheadTotalLoadForecast/Slovakia/PT15M/date/2018-01-%s" % str( day ) actual_day_response = requests.get( url_actual, headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue( actual_day_response.status_code == 200 or actual_day_response.status_code == 403) if actual_day_response.status_code == 403: admin.logout() return forecast_day_response = requests.get( url_forecast, headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue( forecast_day_response.status_code == 200 or forecast_day_response.status_code == 403) if forecast_day_response.status_code == 403: admin.logout() return actual_day_data = actual_day_response.json() forecast_day_data = forecast_day_response.json() for day_packet in actual_day_data: if day_packet[ 'Month' ] == packet[ 'Month' ] and day_packet[ 'Year' ] == packet[ 'Year' ]: actual_total += float( day_packet[ 'ActualTotalLoadValue' ] ) for day_packet in forecast_day_data: if day_packet[ 'Month' ] == packet[ 'Month' ] and day_packet[ 'Year' ] == packet[ 'Year' ]: forecast_total += float( day_packet[ 'DayAheadTotalLoadForecastValue' ] ) self.assertEqual( round( actual_total, 3 ), float( packet[ 'ActualTotalLoadByDayValue' ] ) ) self.assertEqual( round( forecast_total, 3 ), float( packet[ 'DayAheadTotalLoadForecastByDayValue' ] ) ) admin.logout()
def test_NowParameters( self ): admin = active_user( "admin","nimda123") token = admin.login() url = "http://localhost:8765/energy/api/ActualvsForecast/Slovakia/PT15M" response = requests.get( url, headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue( response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() now = datetime.datetime.now() for packet in data: self.assertEqual( packet[ 'AreaName' ], 'Slovakia' ) self.assertEqual( packet[ 'ResolutionCode' ], 'PT15M' ) self.assertEqual( packet[ 'Year' ], str(now.year) ) if 'ActualTotalLoadValue' and 'DayAheadTotalLoadForecastValue' in packet.keys(): self.assertEqual( packet[ 'Day' ], str(now.day) ) self.assertEqual( packet[ 'Month' ], str(now.month) ) elif 'ActualTotalLoadByDayValue' and 'DayAheadTotalLoadForecastByDayValue' in packet.keys(): self.assertEqual( packet[ 'Month' ], str(now.month) ) admin.logout()
def test_AllTypesPerMonth(self): url = "http://localhost:8765/energy/api/AggregatedGenerationPerType/Romania/AllTypes/PT15M/year/2018" admin = active_user("admin", "nimda123") token = admin.login() response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: if packet['Month'] < 10: month = "0" + str(packet['Month']) else: month = str(packet['Month']) total = 0 self.assertTrue(packet['ProductionType'] in prod_types.values()) url = "http://localhost:8765/energy/api/AggregatedGenerationPerType/Romania/AllTypes/PT15M/month/2018-%s" % str( month) month_response = requests.get( url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(month_response.status_code == 200 or month_response.status_code == 403) if month_response.status_code == 403: admin.logout() return month_data = month_response.json() for month_packet in month_data: if month_packet['ProductionType'] == packet['ProductionType']: total += float( month_packet['ActualGenerationOutputByDayValue']) self.assertTrue( month_packet['ProductionType'] in prod_types.values()) self.assertTrue(packet['ProductionType'] in prod_types.values()) self.assertEqual( round(total, 3), float(packet['ActualGenerationOutputByMonthValue'])) admin.logout()
def test_AllTypesPerDay(self): url = "http://localhost:8765/energy/api/AggregatedGenerationPerType/Netherlands/AllTypes/PT60M/month/2018-01" admin = active_user("admin", "nimda123") token = admin.login() response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: if packet['Day'] < 10: day = "0" + str(packet['Day']) else: day = str(packet['Day']) total = 0 self.assertTrue(packet['ProductionType'] in prod_types.values()) url = "http://localhost:8765/energy/api/AggregatedGenerationPerType/Netherlands/AllTypes/PT60M/date/2018-01-%s" % str( day) day_response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(day_response.status_code == 200 or day_response.status_code == 403) if day_response.status_code == 403: admin.logout() return day_data = day_response.json() for day_packet in day_data: if day_packet['ProductionType'] == packet['ProductionType']: total += float(day_packet['ActualGenerationOutputValue']) self.assertTrue( day_packet['ProductionType'] in prod_types.values()) self.assertTrue(packet['ProductionType'] in prod_types.values()) self.assertEqual(round(total, 3), float(packet['ActualGenerationOutputByDayValue'])) admin.logout()
def test_AllTypesNowParameters(self): admin = active_user("admin", "nimda123") token = admin.login() url = "http://localhost:8765/energy/api/AggregatedGenerationPerType/Austria/AllTypes/PT60M" response = requests.get(url, headers={"X-OBSERVATORY-AUTH": token}) self.assertTrue(response.status_code == 200 or response.status_code == 403) if response.status_code == 403: admin.logout() return data = response.json() now = datetime.datetime.now() for packet in data: self.assertEqual(packet['AreaName'], 'Austria') self.assertEqual(packet['ResolutionCode'], 'PT60M') self.assertEqual(packet['Year'], str(now.year)) self.assertTrue(packet['ProductionType'] in prod_types.values()) if 'AggregatedGenerationOutputValue' in packet.keys(): self.assertEqual(packet['Day'], str(now.day)) self.assertEqual(packet['Month'], str(now.month)) elif 'AggregatedGenerationOutputByDayValue' in packet.keys(): self.assertEqual(packet['Month'], str(now.month)) admin.logout()
def test_parameters( self ): admin = active_user( "admin", "nimda123" ) token = admin.login() urls = [ "http://localhost:8765/energy/api/ActualvsForecast/Slovakia/PT15M/date/2018-01-01", \ "http://localhost:8765/energy/api/ActualvsForecast/Slovakia/PT15M/month/2018-01", \ "http://localhost:8765/energy/api/ActualvsForecast/Slovakia/PT15M/year/2018" ] for url in urls: response = requests.get( url, headers = { "X-OBSERVATORY-AUTH": token } ) self.assertTrue( response.status_code == 200 or response.status_code == 403 ) if response.status_code == 403: admin.logout() return data = response.json() for packet in data: self.assertEqual( packet[ 'AreaName' ], 'Slovakia' ) self.assertEqual( packet[ 'ResolutionCode' ], 'PT15M' ) self.assertEqual( packet[ 'Year' ], 2018 ) if 'ActualTotalLoadValue' and 'DayAheadTotalLoadForecastValue' in packet.keys(): self.assertEqual( packet[ 'Day' ], 1 ) self.assertEqual( packet[ 'Month' ], 1 ) elif 'ActualTotalLoadByDayValue' and 'DayAheadTotalLoadForecastByDayValue' in packet.keys(): self.assertEqual( packet[ 'Month' ], 1 ) admin.logout()