def test_status_categories(self): assert not status.is_informational(99) assert status.is_informational(100) assert status.is_informational(199) assert not status.is_informational(200) assert not status.is_success(199) assert status.is_success(200) assert status.is_success(299) assert not status.is_success(300) assert not status.is_redirect(299) assert status.is_redirect(300) assert status.is_redirect(399) assert not status.is_redirect(400) assert not status.is_client_error(399) assert status.is_client_error(400) assert status.is_client_error(499) assert not status.is_client_error(500) assert not status.is_server_error(499) assert status.is_server_error(500) assert status.is_server_error(599) assert not status.is_server_error(600)
def test_status_categories(self): self.assertFalse(status.is_informational(99)) self.assertTrue(status.is_informational(100)) self.assertTrue(status.is_informational(199)) self.assertFalse(status.is_informational(200)) self.assertFalse(status.is_success(199)) self.assertTrue(status.is_success(200)) self.assertTrue(status.is_success(299)) self.assertFalse(status.is_success(300)) self.assertFalse(status.is_redirect(299)) self.assertTrue(status.is_redirect(300)) self.assertTrue(status.is_redirect(399)) self.assertFalse(status.is_redirect(400)) self.assertFalse(status.is_client_error(399)) self.assertTrue(status.is_client_error(400)) self.assertTrue(status.is_client_error(499)) self.assertFalse(status.is_client_error(500)) self.assertFalse(status.is_server_error(499)) self.assertTrue(status.is_server_error(500)) self.assertTrue(status.is_server_error(599)) self.assertFalse(status.is_server_error(600))
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockProduct = MagicMock() mockProduct.find_one.return_value = TestProduct.PRODUCT mockDB = MagicMock() p = PropertyMock(return_value=mockProduct) type(mockDB).products = p mockUsers = MagicMock() mockUsers.find_one.return_value = TestProduct.USER p1 = PropertyMock(return_value=mockUsers) type(mockDB).users = p1 mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.get('/products/5c0700c7556f8960000b45e6') assert status.is_success(response.status_code)
def build_response(status_code, message, **kwargs): body = { 'success': status.is_success(status_code), 'message': message, } body.update(kwargs) return jsonify(body), status_code
def test_post_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockQuestions = MagicMock() mockQuestions.insert_one.return_value = mockQuestions type(mockQuestions).inserted_id = PropertyMock( return_value='inserted_id') mockDB = MagicMock() p = PropertyMock(return_value=mockQuestions) type(mockDB).questions = p mockProducts = MagicMock() mockProducts.find_one.return_value = TestQuestions.PRODUCT p = PropertyMock(return_value=mockProducts) type(mockDB).products = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) new_question = {"question": "Cuánto sale?"} response = self.app.post( '/products/5c06f868556f89598152f2eb/questions', json=new_question) assert status.is_success(response.status_code)
def test_get_ok(self, mock_get_firebase, mock_get_mongo, mock_requests): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockPurchase = MagicMock() mockPurchase.find_one.return_value = TestPayments.PURCHASE mockDB = MagicMock() p = PropertyMock(return_value=mockPurchase) type(mockDB).purchases = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockPayments = MagicMock() mockPayments.find_one.return_value = TestPayments.PAYMENT p2 = PropertyMock(return_value=mockPayments) type(mockDB).payments = p2 response = self.app.get('/purchases/5c06f91b556f895982990e96/payments') assert status.is_success(response.status_code)
def request(self, city_id) -> dict: response_data, status_code = ApiAdvisor(city_id).get_city_data() if not status.is_success(status_code): raise ValidationError(response_data.get('detail')) return response_data
def test_post_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockPurchase = MagicMock() p0 = PropertyMock(return_value="insertedId") type(mockPurchase).inserted_id = p0 mockPurchases = MagicMock() mockPurchases.insert_one.return_value = mockPurchase mockDB = MagicMock() p = PropertyMock(return_value=mockPurchases) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockProducts = MagicMock() mockProducts.find_one.return_value = TestPurchases.PRODUCT p2 = PropertyMock(return_value=mockProducts) type(mockDB).products = p2 response = self.app.post( '/products/5c06f868556f89598152f2eb/purchases', json={"units": 1}) assert status.is_success(response.status_code)
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = {'userId': 'userId', 'refreshToken': 'testToken'} mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockDB = MagicMock() mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value = mockDB) mockPurchases = MagicMock() mockPurchases.find_one.return_value = TestDeliveries.PURCHASE p = PropertyMock(return_value = mockPurchases) type(mockDB).purchases = p mockDeliveries = MagicMock() mockDeliveries.find_one.return_value = TestDeliveries.DELIVERY p = PropertyMock(return_value = mockDeliveries) type(mockDB).deliveries = p response = self.app.get('/purchases/5c06f91b556f895982990e96/deliveries') assert status.is_success(response.status_code)
def test_login_page_is_available(self): """ Checks if the login page can be reached. """ with self.client: response = self.client.get('/login') self.assertTrue(status.is_success(response.status_code))
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = {'refreshToken': 'testToken', 'userId': 'userId'} mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockProducts = MagicMock() mockProducts.find.return_value = TestMySales.PRODUCTS mockDB = MagicMock() p = PropertyMock(return_value = mockProducts) type(mockDB).products = p mockPurchases = MagicMock() mockPurchases.find.return_value = TestMySales.PURCHASES mockDB = MagicMock() p1 = PropertyMock(return_value = mockPurchases) type(mockDB).purchases = p1 mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value = mockDB) response = self.app.get('/mypurchases') assert status.is_success(response.status_code)
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockPurchases = MagicMock() mockPurchases.find.return_value = TestPurchases.PURCHASES mockDB = MagicMock() p = PropertyMock(return_value=mockPurchases) type(mockDB).purchases = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockProducts = MagicMock() mockProducts.find_one.return_value = TestPurchases.PRODUCT p2 = PropertyMock(return_value=mockProducts) type(mockDB).products = p2 response = self.app.get('/products/5c06f868556f89598152f2eb/purchases') assert status.is_success(response.status_code)
def test_post_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockQuestions = MagicMock() mockQuestions.find_one.return_value = mockQuestions mockDB = MagicMock() p = PropertyMock(return_value=mockQuestions) type(mockDB).questions = p mockAnswers = MagicMock() mockAnswers.insert_one.return_value = mockAnswers type(mockAnswers).inserted_id = PropertyMock( return_value='inserted_id') mockDB = MagicMock() p1 = PropertyMock(return_value=mockAnswers) type(mockDB).answers = p1 mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) new_answer = {"answer": "It's 10 pounds"} response = self.app.post('/questions/5c06f868556f89598152f2eb/answers', json=new_answer) assert status.is_success(response.status_code)
def test_post_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockUser = MagicMock() id = PropertyMock(return_value="inserted_id") type(mockUser).inserted_id = id mockUsers = MagicMock() mockUsers.insert_one.return_value = mockUser mockDB = MagicMock() p = PropertyMock(return_value=mockUsers) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.post('/products', json=TestProducts.PRODUCT) assert status.is_success(response.status_code)
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'refreshToken': 'testToken', 'userId': 'userId' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockProducts = MagicMock() mockProducts.find.return_value = TestSearch.PRODUCTS mockDB = MagicMock() p = PropertyMock(return_value=mockProducts) type(mockDB).products = p mockUsers = MagicMock() mockUsers.find_one.return_value = TestSearch.USER p1 = PropertyMock(return_value=mockUsers) type(mockDB).users = p1 mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.get( 'http://127.0.0.1:8000/products/search?name=rod&description=prue&latitude=-34.583540&longitude=-58.406081&lowest_price=49&greatest_price=50&category=ate' ) assert status.is_success(response.status_code)
def test_post_ok(self, mock_get_firebase, mock_get_mongo): email = '*****@*****.**' password = '******' registration_id = 'registration_id' log_in_json = { 'email': email, 'password': password, 'registration_id': registration_id } mockAux = MagicMock() mockAux.sign_in_with_email_and_password.return_value = { 'localId': 'testId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockUsers = MagicMock() mockUsers.update_one.return_value = {'_id': "testId"} mockDB = MagicMock() p = PropertyMock(return_value=mockUsers) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.post('/users/login', json=log_in_json) assert status.is_success(response.status_code)
def test_snails_authorized_status_code(self): with self.client as client: response = client.get("/auth/token") token = response.get_json()['token'] headers = {'Authorization': token} response = client.get('/snails', headers=headers) self.assertTrue(status.is_success(response.status_code))
def test_register_success(self): test_credentials = {'username': Config.new_user, 'password': Config.new_password, 'auth_token': Config.auth_token} with app.test_client() as client: response = client.post('/register', json=test_credentials) self.assertTrue(status.is_success(response.status_code)) json_response = response.get_json(force=True) decoded_token = jwt.decode(bytes(json_response['token'], "utf-8"), Config.jwt_secret, algorithms=['HS256']) self.assertTrue(decoded_token['username'] == Config.new_user)
def test_login_fails(self): """ Checks that the login fails with wrong credentials. """ with self.client: response = self.client.post('/login', data={'username': '******', 'password': '******'}, follow_redirects=True) self.assertTrue(status.is_success(response.status_code)) self.assertTrue(current_user.is_anonymous)
def get_status(status_code: int) -> AnyStr: """ To determine the type of response based on status_code :param status_code: Integer value ranging 200-500 :return: String """ if status.is_success(status_code) or status.is_redirect(status_code): return "SUCCESS" elif status.is_client_error(status_code): return "FAILURE" else: return "ERROR"
def test_post_ok(self, mock_get_firebase, mock_get_mongo, mock_requests): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockUsers = MagicMock() mockUsers.find_one.return_value = { 'userId': 'userId', 'email': 'email' } mockDB = MagicMock() p1 = PropertyMock(return_value=mockUsers) type(mockDB).users = p1 mockProducts = MagicMock() mockProducts.find_one.return_value = TestEstimates.PRODUCT mockDB = MagicMock() p2 = PropertyMock(return_value=mockProducts) type(mockDB).products = p2 mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockPurchases = MagicMock() mockPurchases.find.return_value = mockPurchases mockPurchases.count.return_value = 5 mockPurchases.find_one.return_value = TestEstimates.PURCHASE p3 = PropertyMock(return_value=mockPurchases) type(mockDB).purchases = p3 mockResponse = MagicMock() type(mockResponse).status_code = status.HTTP_200_OK mockResponse.json.return_value = TestEstimates.COST mock_requests.post.return_value = mockResponse new_delivery = { "destination_address": "Dirección Prueba", "destination_latitude": "-34.592871", "destination_longitude": "-58.406081" } response = self.app.get( '/products/5c06f868556f89598152f2eb/deliveries/estimate') assert status.is_success(response.status_code)
def test_post_ok(self, mock_get_firebase, mock_get_mongo, mock_requests): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockPurchase = MagicMock() mockPurchase.find_one.return_value = TestPayments.PURCHASE mockDB = MagicMock() p = PropertyMock(return_value=mockPurchase) type(mockDB).purchases = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockPayment = MagicMock() type(mockPayment).inserted_id = PropertyMock( return_value="inserted_id") mockPayments = MagicMock() mockPayments.insert_one.return_value = mockPayment p2 = PropertyMock(return_value=mockPayments) type(mockDB).payments = p2 new_payment = { "payment_method": "credit", "card_number": "4237349324", "card_cvc": "998", "card_expiration_year": "2021", "card_expiration_month": "04", "card_holder": "Estanislao Ledesma" } mockResponse = MagicMock() type(mockResponse).status_code = status.HTTP_201_CREATED mock_requests.post.return_value = mockResponse mockPurchases = MagicMock() p3 = PropertyMock(return_value=mockPurchases) type(mockDB).purchases = p2 response = self.app.post( '/purchases/5c06f91b556f895982990e96/payments', json=new_payment) assert status.is_success(response.status_code)
def serialize(ret, code): _return = {'code': code} if not status.is_success(code): _return['status'] = 'fail' if ret is not None: _return['message'] = ret else: _return['status'] = 'success' if ret is not None: _return.update(ret) return _return, code
def test_put_ok(self, mock_get_firebase, mock_get_mongo, mock_push): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockPayments = MagicMock() mockDB = MagicMock() p = PropertyMock(return_value=mockPayments) type(mockDB).payments = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockPurchases = MagicMock() mockPurchases.find_one.return_value = TestPaymentStatus.PURCHASE p2 = PropertyMock(return_value=mockPurchases) type(mockDB).purchases = p2 mockDeliveries = MagicMock() p3 = PropertyMock(return_value=mockDeliveries) type(mockDB).deliveries = p3 mockUsers = MagicMock() mockUsers.find_one.return_value = { 'registration_id': 'registration_id' } p4 = PropertyMock(return_value=mockUsers) type(mockDB).users = p4 mock_push = MagicMock() new_payment_status = {"status": "Pago Aceptado", "tracking_id": "1000"} response = self.app.put('/payments/5c06f91b556f895982990e96', json=new_payment_status) assert status.is_success(response.status_code)
def test_put_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = {'refreshToken': 'testToken'} mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockUsers = MagicMock() mockUsers.update_one.return_value = {'_id': "testId"} mockDB = MagicMock() p = PropertyMock(return_value=mockUsers) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.put('/users/user_id', json={}) assert status.is_success(response.status_code)
def test_put_ok(self, mock_get_firebase, mock_get_mongo, mock_push): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockDeliveries = MagicMock() mockDeliveries.find_one.return_value = TestDeliveryStatus.DELIVERY mockDB = MagicMock() p = PropertyMock(return_value=mockDeliveries) type(mockDB).deliveries = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) mockPurchases = MagicMock() mockPurchases.find_one.return_value = TestDeliveryStatus.PURCHASE p2 = PropertyMock(return_value=mockPurchases) type(mockDB).purchases = p2 mockUsers = MagicMock() mockUsers.find_one.return_value = { 'registration_id': 'registration_id' } p4 = PropertyMock(return_value=mockUsers) type(mockDB).users = p4 mock_push = MagicMock() new_delivery_status = {"status": "Entrega Realizada"} response = self.app.put('/deliveries/5c06f91b556f895982990e96', json=new_delivery_status) assert status.is_success(response.status_code)
def serialize(ret, code): _return = {'code': code} if not status.is_success(code): _return['status'] = 'fail' if ret is not None: if isinstance(ret, dict): _return.update(ret) else: _return['message'] = ret else: _return['status'] = 'success' if ret is not None: if isinstance(ret, dict): _return.update(ret) else: _return['data'] = ret return _return, code
def test_post_ok(self, mock_get_firebase, mock_get_mongo): display_name = 'Test' email = '*****@*****.**' password = '******' phone = "phone" registration_id = "registration_id" sign_up_json = { 'display_name': display_name, 'email': email, 'password': password, 'phone': phone, 'registration_id': registration_id } mockAux = MagicMock() mockAux.create_user_with_email_and_password.return_value = { 'localId': 'testId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockUser = MagicMock() id = PropertyMock(return_value="inserted_id") type(mockUser).inserted_id = id mockUsers = MagicMock() mockUsers.insert_one.return_value = mockUser mockDB = MagicMock() p = PropertyMock(return_value=mockUsers) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.post('/users/signup', json=sign_up_json) assert status.is_success(response.status_code)
def test_get_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockAnswers = MagicMock() mockAnswers.find.return_value = TestAnswers.ANSWERS mockDB = MagicMock() p = PropertyMock(return_value=mockAnswers) type(mockDB).answers = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) response = self.app.get('/questions/5c06f868556f89598152f2eb/answers') assert status.is_success(response.status_code)
def test_put_ok(self, mock_get_firebase, mock_get_mongo): mockAux = MagicMock() mockAux.refresh.return_value = { 'userId': 'userId', 'refreshToken': 'testToken' } mock_get_firebase.return_value = mockAux mockAux.auth.return_value = mockAux mockDB = MagicMock() p = PropertyMock(return_value=MagicMock()) type(mockDB).users = p mockMongo = MagicMock() mock_get_mongo.return_value = mockMongo type(mockMongo).db = PropertyMock(return_value=mockDB) new_rating = {"rating": 1} response = self.app.put('/users/5c06f868556f89598152f2eb/score', json=new_rating) assert status.is_success(response.status_code)
def test_auth_get_token_status_code(self): with self.app as client: response = client.get("/auth/token") self.assertTrue(status.is_success(response.status_code))