def create(self, validated_data): address_data = validated_data.pop('address') user = User.objects.create(**validated_data) country = Country.objects.get(code=address_data['country']) user.address = Address.objects.create(country=country) user.set_password(validated_data['password']) user.save() Token.objects.create(user=user) # first_name, last_name = validated_data['name'].split(' ') birth_date = int( time.mktime( time.strptime(str(validated_data['birth_date']), '%Y-%m-%d'))) mangopay_user = NaturalUser(first_name=validated_data['name'], last_name=validated_data['surname'], birthday=birth_date, nationality=country.code, country_of_residence=country.code, person_type='NATURAL', email=validated_data['email']) mangopay_user.save() user.mangopay_user_id = mangopay_user.id user.save() wallet = Wallet(owners=[mangopay_user], description='Wallet for USD', currency='USD') wallet.save() currency = Currency.objects.get(code='USD') UserWallet.objects.create(user=user, currency=currency, mangopay_wallet_id=wallet.id) return user
def make_mangopay_account(FirstName): account = NaturalUser() account.FirstName = FirstName account.LastName = 'Foobar' account.CountryOfResidence = 'BE' account.Nationality = 'BE' account.Birthday = 0 account.Email = '*****@*****.**' account.save() return account.Id
def test_create_ubo_declaration(self): self.mock_legal_user() self.mock_declarative_user() self.mock_ubo_declaration() params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", "capacity": "DECLARATIVE" } user = NaturalUser(**params) user.save() params = {"user_id": "1169420", "declared_ubos": ["11694190"]} ubo_declaration = UboDeclaration(**params) ubo_declaration.save() self.assertTrue(isinstance(ubo_declaration, UboDeclaration)) self.assertTrue(ubo_declaration.id == "1169420") self.assertTrue(len(ubo_declaration.declared_ubos) == 1) ubo = ubo_declaration.declared_ubos[0] self.assertTrue(isinstance(ubo, DeclaredUbo)) self.assertTrue(ubo.user_id == '11694190') self.assertTrue(ubo.status == 'CREATED')
def create(self): if not self.birthday or self.birthday == 0: db = 1 else: db = _make_timestamp(self.birthday) mango_call = NaturalUser(FirstName=self.user.first_name, LastName=self.user.last_name, Email=self.user.email, Birthday=db, Nationality=self.nationality, CountryOfResidence=self.country_of_residence) mango_call.save() self.mid = mango_call.Id # Add more data from the return of the call self.save()
def create( self ): # check if not to pass in the user from the request in the view self.birthday = _date_from_timestamp(1) mango_call = NaturalUser(FirstName=self.user.first_name, LastName=self.user.last_name, Email=self.user.email, Birthday=1, Nationality=self.nationality, CountryOfResidence=self.country_of_residence) mango_call.save() self.usertype = 'NATURAL' self.mid = mango_call.get_pk() print(self.birthday) print(type(self.birthday)) self.save()
def test_update_ubo_declaration(self): self.mock_legal_user() self.mock_declarative_user() self.mock_ubo_declaration() params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", "capacity": "DECLARATIVE" } user = NaturalUser(**params) user.save() params = { "user_id": "1169420", "declared_ubos": ["11694190"] } ubo_declaration = UboDeclaration(**params) ubo_declaration.save() updated_value = 'Updated Tag' self.register_mock({ "method": responses.PUT, "url": settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/ubodeclarations/1169420', "body": get_fixture('ubo_declaration') % ('"' + updated_value + '"'), "status": 200 }) ubo_declaration.tag = updated_value ubo_declaration.save() self.assertTrue(ubo_declaration.id == "1169420") self.assertTrue(ubo_declaration.tag == updated_value)
def test_retrieve_specific_natural_user(self): self.mock_natural_user() self.register_mock({ 'method': responses.GET, 'url': re.compile(r'' + settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/users/\d+'), 'body': { "FirstName": "Victor", "LastName": "Hugo", "Address": { "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "City": "City", "Region": "Region", "PostalCode": "11222", "Country": "FR" }, "Birthday": today_timestamp, "Nationality": "FR", "CountryOfResidence": "FR", "Occupation": "Writer", "IncomeRange": 6, "PersonType": "NATURAL", "Email": "*****@*****.**", "Id": "1167495", "CreationDate": 1382605938, "KYCLevel": "LIGHT", "Tag": "custom tag", "UserCategory": "OWNER" }, 'status': 200 }) params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", "user_category": "OWNER" } user = NaturalUser(**params) user.save() self.assertIsNotNone(user.get_pk()) retrieved_user = User.get(user.get_pk()) self.assertIsNotNone(retrieved_user.get_pk()) for key, value in params.items(): self.assertEqual(getattr(retrieved_user, key), value) self.assertIsInstance(retrieved_user, User)
import mangopay from mangopay.resources import User, NaturalUser from mangopay.utils import Address mangopay.client_id = 'info802-ep' mangopay.apikey = 'MZ3zAhEH5nbYg8RPH6ekOZQdsAYqQJTvghh8fJkamzJtZnvEXu' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) natural_user = NaturalUser( first_name='Victor', last_name='Hugo', birthday=1300186358, nationality='FR', country_of_residence='FR', email='*****@*****.**', ) natural_user.save() # save the new user print(natural_user.get_pk()) # retrieve the primary key
def test_create_natural_user(self): self.mock_natural_user() self.register_mock({ "method": responses.PUT, "url": re.compile( r'' + settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/users/natural/\d+'), "body": { "FirstName": "Victor", "LastName": "Claver", "Address": { "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "City": "City", "Region": "Region", "PostalCode": "11222", "Country": "FR" }, "Birthday": today_timestamp, "Nationality": "FR", "CountryOfResidence": "FR", "Occupation": "Writer", "IncomeRange": 6, "PersonType": "NATURAL", "Email": "*****@*****.**", "Id": "1169419", "Tag": "custom tag", "CreationDate": 1383321421, "KYCLevel": "LIGHT" }, "status": 200 }) params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", } user = NaturalUser(**params) self.assertIsNone(user.get_pk()) user.save() self.assertIsInstance(user, NaturalUser) for key, value in params.items(): self.assertEqual(getattr(user, key), value) self.assertIsNotNone(user.get_pk()) previous_pk = user.get_pk() user.last_name = 'Claver' user.save() self.assertEqual(previous_pk, user.get_pk()) self.assertEqual(user.last_name, 'Claver')
def test_retrieve_natural_user(self): self.mock_natural_user() self.register_mock([ { 'method': responses.GET, 'url': settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/users/natural/1169419', 'body': { "FirstName": "Victor", "LastName": "Hugo", "Address": { "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "City": "City", "Region": "Region", "PostalCode": "11222", "Country": "FR" }, "Birthday": today_timestamp, "Nationality": "FR", "CountryOfResidence": "FR", "Occupation": "Writer", "IncomeRange": 6, "ProofOfIdentity": None, "ProofOfAddress": None, "PersonType": "NATURAL", "Email": "*****@*****.**", "Id": "1169419", "Tag": "custom tag", "CreationDate": 1383321421, "KYCLevel": "LIGHT" }, 'status': 200 }, { 'method': responses.GET, 'url': settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/users/natural/1169420', 'body': {"errors": []}, 'status': 404 }]) params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", } user = NaturalUser(**params) user.save() self.assertRaises(NaturalUser.DoesNotExist, NaturalUser.get, int(user.get_pk()) + 1) self.assertIsNotNone(user.get_pk()) user = NaturalUser.get(user.get_pk()) self.assertIsNotNone(user.get_pk()) for key, value in params.items(): self.assertEqual(getattr(user, key), value)
def test_retrieve_specific_natural_user(self): self.mock_natural_user() self.register_mock({ 'method': responses.GET, 'url': re.compile(r'' + settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/users/\d+'), 'body': { "FirstName": "Victor", "LastName": "Hugo", "Address": { "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "City": "City", "Region": "Region", "PostalCode": "11222", "Country": "FR" }, "Birthday": today_timestamp, "Nationality": "FR", "CountryOfResidence": "FR", "Occupation": "Writer", "IncomeRange": 6, "PersonType": "NATURAL", "Email": "*****@*****.**", "Id": "1167495", "CreationDate": 1382605938, "KYCLevel": "LIGHT", "Tag": "custom tag" }, 'status': 200 }) params = { "first_name": "Victor", "last_name": "Hugo", "address": Address(address_line_1='AddressLine1', address_line_2='AddressLine2', city='City', region='Region', postal_code='11222', country='FR'), "birthday": today, "nationality": "FR", "country_of_residence": "FR", "occupation": "Writer", "income_range": 6, "proof_of_identity": None, "proof_of_address": None, "person_type": "NATURAL", "email": "*****@*****.**", "tag": "custom tag", } user = NaturalUser(**params) user.save() self.assertIsNotNone(user.get_pk()) retrieved_user = User.get(user.get_pk()) self.assertIsNotNone(retrieved_user.get_pk()) for key, value in params.items(): self.assertEqual(getattr(retrieved_user, key), value) self.assertIsInstance(retrieved_user, User)