Пример #1
0
 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()
Пример #2
0
 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()
Пример #6
0
 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 )
Пример #7
0
 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()