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()
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()