def test_verify_airbnb_verification_code_internal_server_error( mock_urllib_request): with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "123") assert str(service_err.value) == "Can not fetch user's Airbnb profile."
def test_verify_airbnb_verification_code_internal_server_error( mock_urllib_request, mock_ipfs): mock_ipfs.return_value.add_json.return_value = \ 'QmYpVLAyQ2SV7NLATdN3xnHTewoQ3LYN85LAcvN1pr2k3z' with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "123") assert str(service_err.value) == "Can not fetch user's Airbnb profile."
def test_verify_airbnb_verification_code_non_existing_user( mock_urllib_request): with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "99999999999999999") assert str( service_err.value) == 'Airbnb user id: 99999999999999999 not found.' # Verify attestation not stored attestations = Attestation.query.all() assert (len(attestations)) == 0
def test_verify_airbnb_verification_code_non_existing_user( mock_urllib_request, mock_ipfs): mock_ipfs.return_value.add_json.return_value = \ 'QmYpVLAyQ2SV7NLATdN3xnHTewoQ3LYN85LAcvN1pr2k3z' with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "99999999999999999") assert str( service_err.value) == 'Airbnb user id: 99999999999999999 not found.' # Verify attestation not stored attestations = Attestation.query.all() assert (len(attestations)) == 0
def test_verify_airbnb(mock_urllib_request): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description Origin verification code: art brick aspect accident brass betray antenna some more profile description </div></html>""".encode('utf-8') airbnbUserId = "123456" resp = VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', airbnbUserId ) assert isinstance(resp, VerificationServiceResponse) resp_data = resp.data assert len(resp_data['signature']) == SIGNATURE_LENGTH assert resp_data['claim_type'] == CLAIM_TYPES['airbnb'] assert resp_data['data'] == 'airbnbUserId:' + airbnbUserId # Verify attestation stored in database attestations = Attestation.query.all() assert(len(attestations)) == 1 assert(attestations[0].method) == AttestationTypes.AIRBNB assert(attestations[0].value) == "123456"
def test_verify_airbnb(mock_urllib_request, mock_ipfs, app): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description Origin verification code: art brick aspect accident brass betray antenna some more profile description </div></html>""".encode('utf-8') mock_ipfs.return_value.add_json.return_value = \ 'QmYpVLAyQ2SV7NLATdN3xnHTewoQ3LYN85LAcvN1pr2k3z' airbnbUserId = "123456" with app.test_request_context(): verification_response = VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', airbnbUserId) assert isinstance(verification_response, VerificationServiceResponse) assert len(verification_response.data['signature']) == SIGNATURE_LENGTH assert verification_response.data['claim_type'] == TOPICS['airbnb'] assert verification_response.data['data'] \ == 'QmYpVLAyQ2SV7NLATdN3xnHTewoQ3LYN85LAcvN1pr2k3z' # Verify attestation stored in database attestations = Attestation.query.all() assert (len(attestations)) == 1 assert (attestations[0].method) == AttestationTypes.AIRBNB assert (attestations[0].value) == "123456"
def test_verify_airbnb_verification_code_missing(mock_urllib_request): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description some more profile description </div></html>""".encode('utf-8') with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "123456") assert str(service_err.value) == "Origin verification code: art brick aspect " \ + "accident brass betray antenna has not been found in user's Airbnb profile." # Verify attestation not stored attestations = Attestation.query.all() assert (len(attestations)) == 0
def test_verify_airbnb(mock_urllib_request, app): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description Origin verification code: art brick aspect accident brass betray antenna some more profile description </div></html>""".encode('utf-8') airbnbUserId = "123456" with app.test_request_context(): response = VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', airbnbUserId) assert isinstance(response, VerificationServiceResponse) assert len(response.data['signature']['bytes']) == SIGNATURE_LENGTH assert response.data[ 'schemaId'] == 'https://schema.originprotocol.com/attestation_1.0.0.json' validate_issuer(response.data['data']['issuer']) assert response.data['data']['issueDate'] assert response.data['data']['attestation']['verificationMethod'][ 'pubAuditableUrl'] == {} assert response.data['data']['attestation']['site'][ 'siteName'] == 'airbnb.com' assert response.data['data']['attestation']['site']['userId'][ 'raw'] == '123456' # Verify attestation stored in database attestations = Attestation.query.all() assert (len(attestations)) == 1 assert (attestations[0].method) == AttestationTypes.AIRBNB assert (attestations[0].value) == "123456"
def test_verify_airbnb_verification_code_incorrect_user_id_format( mock_urllib_request): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description Origin verification code: art brick aspect accident brass betray antenna some more profile description </div></html>""".encode('utf-8') with pytest.raises(ValidationError) as validation_error: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "12a34") assert str(validation_error.value) == 'AirbnbUserId should be a number.' # Verify attestation not stored attestations = Attestation.query.all() assert (len(attestations)) == 0
def test_verify_airbnb_verification_code_incorrect(mock_urllib_request, mock_ipfs): mock_urllib_request.return_value.read.return_value = """ <html><div> Airbnb profile description Origin verification code: art brick aspect pimpmobile some more profile description </div></html>""".encode('utf-8') mock_ipfs.return_value.add_json.return_value = \ 'QmYpVLAyQ2SV7NLATdN3xnHTewoQ3LYN85LAcvN1pr2k3z' with pytest.raises(AirbnbVerificationError) as service_err: VerificationService.verify_airbnb( '0x112234455C3a32FD11230C42E7Bccd4A84e02010', "123456") assert str(service_err.value) == "Origin verification code: art brick aspect " \ + "accident brass betray antenna has not been found in user's Airbnb profile." # Verify attestation not stored attestations = Attestation.query.all() assert (len(attestations)) == 0