Beispiel #1
0
    def test_car_init(self):
        car = Car("Honda_Test", "Sedan", "Silver", "White", 4, "NYC", 15.5,
                  "12/02/2020")
        self.assertTrue(car is not None)
        self.assertTrue(car.calendar_id is not None)

        # clean up
        gcalendar_service.calendars().delete(
            calendarId=car.calendar_id).execute()
 def test_delete_existing(self):
     """ Test delete method on an existing Car record """
     
     cal_id1, cal_id2 = seed_car(self)
     
     assert_car1 = db.session.query(Car).filter_by(name='Honda1').first()
     assert_car2 = db.session.query(Car).filter_by(name='Subaru1').first()
     
     self.assertTrue(assert_car1 is not None)
     self.assertTrue(assert_car2 is not None)
     
     with self.client:
         resp_register = register_user(self, '*****@*****.**', '123456', "Joe", "Doe", "admin")
         data_register = json.loads(resp_register.data.decode())
         self.assertTrue(data_register['status'] == 'success')
         self.assertTrue(
             data_register['message'] == 'Successfully registered.'
         )
         self.assertTrue(data_register['auth_token'])
         self.assertTrue(resp_register.content_type == 'application/json')
         self.assertEqual(resp_register.status_code, 201)
         
         # registered user login
         response = login_user(self, '*****@*****.**', '123456')
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged in.')
         self.assertTrue(data['auth_token'])
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         
         response = self.client.delete(
             '/api/v1/cars/Honda1',
             headers=dict(
                 Authorization='Bearer ' + data['auth_token']
             )
         )
         
         query_car = db.session.query(Car).filter_by(name='Honda1').first()
         
     
         self.assertFalse(query_car)
         self.assertEqual(response.status_code, 200)
         
         gcalendar_service.calendars().delete(calendarId=cal_id1).execute()
         gcalendar_service.calendars().delete(calendarId=cal_id2).execute()
     
         
         
 def test_create_new(self):
     """ Test create a new a car via POST """
     
     with self.client:
         resp_register = register_user(self, '*****@*****.**', '123456', "Joe", "Doe", "admin")
         data_register = json.loads(resp_register.data.decode())
         self.assertTrue(data_register['status'] == 'success')
         self.assertTrue(
             data_register['message'] == 'Successfully registered.'
         )
         self.assertTrue(data_register['auth_token'])
         self.assertTrue(resp_register.content_type == 'application/json')
         self.assertEqual(resp_register.status_code, 201)
         # registered user login
         response = login_user(self, '*****@*****.**', '123456')
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged in.')
         self.assertTrue(data['auth_token'])
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         
         response = self.client.post(
             '/api/v1/cars',
             data=json.dumps(dict(
                 name='Test',
                 make='Test',
                 body='Test',
                 colour='Test',
                 seats=4,
                 location='Test',
                 cost_per_hour=17.5,
                 manu_date='2018-12-19 09:26:03.478039',
             )),
             content_type='application/json',
             headers=dict(
                 Authorization='Bearer ' + data['auth_token']
             )
         )
         
         data  = json.loads(response.data.decode())
         
         self.assertTrue(data is not None)
         self.assertEqual(data['data']['name'], 'Test')
         self.assertEqual(data['data']['make'], 'Test')
         self.assertEqual(data['data']['seats'], 4)
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 201)
         gcalendar_service.calendars().delete(calendarId=data['data']['calendar_id']).execute()
 def test_get_all(self):
     """ Test get all cars """
     # add dummy cars
     cal_id1, cal_id2 = seed_car(self)
     
     with self.client:
         # admin register
         resp_register = register_user(self, '*****@*****.**', '123456', "Joe", "Doe", "admin")
         data_register = json.loads(resp_register.data.decode())
         self.assertTrue(data_register['status'] == 'success')
         self.assertTrue(
             data_register['message'] == 'Successfully registered.'
         )
         self.assertTrue(data_register['auth_token'])
         self.assertTrue(resp_register.content_type == 'application/json')
         self.assertEqual(resp_register.status_code, 201)
         # admin login
         response = login_user(self, '*****@*****.**', '123456')
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged in.')
         self.assertTrue(data['auth_token'])
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         
         # api calls 
         response = self.client.get('/api/v1/cars',
                 content_type='application/json',
                 headers=dict(
                 Authorization='Bearer ' + data['auth_token']
             ))
         data = json.loads(response.data.decode())
         
         self.assertEqual(data['data']['Subaru1']['make'],'Truck')
         self.assertTrue(len(data['data']) == 2)
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         self.assertTrue(data is not None)
         self.assertTrue(data['data']['Honda1']['calendar_id'] is not None)
         self.assertTrue(data['data']['Subaru1']['calendar_id'] is not None)
         
         gcalendar_service.calendars().delete(calendarId=cal_id1).execute()
         gcalendar_service.calendars().delete(calendarId=cal_id2).execute()
Beispiel #5
0
 def __init__(self, name, make, body, colour, seats, location, cost_per_hour, manu_date):
     self.name = name
     self.make = make
     self.body = body
     self.colour = colour
     self.seats = seats
     self.location = location
     self.cost_per_hour = cost_per_hour
     self.manu_date = manu_date
     
     # Calendar
     calendar_body = {
         'summary': self.name,
         'timeZone': datetime.now(tzlocal()).tzname()
     }
     created_calendar = gcalendar_service.calendars().insert(body = calendar_body).execute()
     
     self.calendar_id = created_calendar['id']
 def test_edit_existing (self):
     """ Test put method on existing database unit """
     cal_id1, cal_id2 = seed_car(self)
     
     assert_car1 = db.session.query(Car).filter_by(name='Honda1').first()
     assert_car2 = db.session.query(Car).filter_by(name='Subaru1').first()
     
     self.assertTrue(assert_car1 is not None)
     self.assertTrue(assert_car2 is not None)
     
     
     with self.client:
         resp_register = register_user(self, '*****@*****.**', '123456', "Joe", "Doe", "admin")
         data_register = json.loads(resp_register.data.decode())
         self.assertTrue(data_register['status'] == 'success')
         self.assertTrue(
             data_register['message'] == 'Successfully registered.'
         )
         self.assertTrue(data_register['auth_token'])
         self.assertTrue(resp_register.content_type == 'application/json')
         self.assertEqual(resp_register.status_code, 201)
         # registered user login
         response = login_user(self, '*****@*****.**', '123456')
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged in.')
         self.assertTrue(data['auth_token'])
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         # invoke put request to client with new body being passed
         response = self.client.put (
             '/api/v1/cars/Honda1',
             data = json.dumps(dict(
                 name='Honda1',
                 make='Test',
                 body='Test',
                 colour='Test',
                 seats=7,
                 location='Test',
                 cost_per_hour=12.5,
                 manu_date='2018-12-19 09:26:03.478039',
             )),
             content_type = 'application/json',
             headers=dict(
                 Authorization='Bearer ' + data['auth_token']
             )
             
         )
     
         data = json.loads(response.data.decode())
         
         # test the response object and status
         self.assertTrue(data is not None)
         self.assertEqual(data['data']['name'], 'Honda1')
         self.assertEqual(data['data']['make'], 'Test')
         self.assertEqual(data['data']['seats'], 7)
         self.assertEqual(data['data']['cost_per_hour'], 12.5)
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, 200)
         
         gcalendar_service.calendars().delete(calendarId=cal_id1).execute()
         gcalendar_service.calendars().delete(calendarId=cal_id2).execute()