コード例 #1
0
 def create_deposit(self):
     transactions = [create_revenue() for i in range(100)]
     data = {"PlayerID": self.player.PlayerID, "InitID": generate_random_int(),
             "Transactions": [r.__dict__ for r in transactions]}
     self.client.post(get_deposit_resource(),
                      data=json.dumps(data),
                      headers=get_api_headers())
コード例 #2
0
    def test_tc_32_player_registration_empty_tracking_code(self):
        """
          IMPORTANT NOTE: According to doc https://qa-gaming.aretonet.com/kb/campaigns#ua_campaigns_promo

          If both a promotional code and a tracking code are received, the promotional code will be taken into
          consideration while the tracking code will be discarded;

          and if tracking code is available this value will be used as CustomString3 iff promo code is not null or empty

          :return:
        """
        player = create_random_player()
        player.TrackingCode = ""
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 500)
        body = response.json()
        logging.info("API response: {}".format(body))

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        self.assertTrue(q_net_customer)
        self.assertTrue(q_net_dw_fact_signup)
        self.assertEquals(q_net_customer["CustomString3"], str(player.CustomString3))

        self.assertTrue(body['Success'])
        self.assertEqual(body["Message"], "OK")
コード例 #3
0
    def test_tc_2_cancel_wager_parimutuel_without_player_id(self):
        player = create_random_player(player_id_length=40)
        logging.info("Creating player: {}".format(player.__dict__))

        # Create player
        channel = 1
        self.create_and_validate_player(player, channel)

        wagers = self.create_wagers()
        # Create Wager
        data, request_id = self.create_and_validate_wager_parimutuel(
            player, wagers)
        data["PlayerID"] = None

        wager_parimutuel_response = requests.delete(
            get_wagers_parimutuel_resource(channel=''),
            data=json.dumps(data),
            headers=get_api_headers())

        self.assertTrue(wager_parimutuel_response.status_code, 200)
        body = wager_parimutuel_response.json()
        self.assertEqual(body.get('Success'), False)
        self.assertEqual(body.get('Message'),
                         get_api_error_player_id_not_passed())
        self.assertEqual(body.get('RequestID'), 0)
コード例 #4
0
 def create_five_wagers(self):
     wagers, url = self.create_random_wager()
     data = {
         "PlayerID": self.player.PlayerID,
         "InitID": generate_random_int(),
         "Wagers": [r.__dict__ for r in wagers]
     }
     self.client.post(url, data=json.dumps(data), headers=get_api_headers())
コード例 #5
0
 def test_tc_6_event_lottery_empty_list(self):
     parimutuel_event_response = requests.post(get_dim_lottery_resource(),
                                               data=json.dumps([]),
                                               headers=get_api_headers())
     self.assertTrue(parimutuel_event_response.status_code, 200)
     body = parimutuel_event_response.json()
     self.assertEqual(body.get('Success'), False)
     self.assertEqual(body.get('Message'), get_api_error_event_list_empty())
     self.assertEqual(body.get('RequestID'), 0)
コード例 #6
0
 def _create_player():
     player = create_random_player(player_id_length=40)
     logging.info("Creating player: {}".format(player.__dict__))
     response = requests.post(get_player_sign_up_resource(),
                              data=json.dumps(player.__dict__),
                              headers=get_api_headers())
     body = response.json()
     logging.info("API response: {}".format(body))
     return player
コード例 #7
0
 def create_withdrawal(self):
     withdrawals = [create_withdrawal()]
     data = {
         "PlayerID": self.player.PlayerID,
         "InitID": generate_random_int(),
         "Withdrawals": [r.__dict__ for r in withdrawals]
     }
     self.client.post(get_withdrawal_resource(),
                      data=json.dumps(data),
                      headers=get_api_headers())
コード例 #8
0
ファイル: casino.py プロジェクト: sbaldassin/pepito
 def create_wager_casino(self):
     wagers = [create_wager_casino() for i in range(100)]
     data = {
         "PlayerID": self.player.PlayerID,
         "InitID": generate_random_int(),
         "Wagers": [r.__dict__ for r in wagers]
     }
     self.client.post(get_wager_casino_resource(channel=1),
                      data=json.dumps(data),
                      headers=get_api_headers())
コード例 #9
0
 def create_payout(self):
     bonuses = [create_payout(self.get_payout_type())]
     data = {
         "PlayerID": self.player.PlayerID,
         "InitID": generate_random_int(),
         "Payouts": [r.__dict__ for r in bonuses]
     }
     self.client.post(get_payout_resource(),
                      data=json.dumps(data),
                      headers=get_api_headers())
コード例 #10
0
    def test_tc_2_wager_parimutuel_without_player_id(self):
        data = {"PlayerID": None, "Wagers": []}

        wager_parimutuel_response = requests.post(get_wagers_parimutuel_resource(),
                                                  data=json.dumps(data),
                                                  headers=get_api_headers())
        self.assertTrue(wager_parimutuel_response.status_code, 200)
        body = wager_parimutuel_response.json()
        self.assertEqual(body.get('Success'), False)
        self.assertEqual(body.get('Message'), get_api_error_player_id_not_passed())
        self.assertEqual(body.get('RequestID'), 0)
コード例 #11
0
 def send_lottery_event(self, events):
     parimutuel_event_response = requests.post(get_dim_lottery_resource(),
                                               data=json.dumps(events),
                                               headers=get_api_headers())
     self.assertTrue(parimutuel_event_response.status_code, 200)
     body = parimutuel_event_response.json()
     logging.info("Event Parimutuel API response: {}".format(body))
     self.assertEqual(body.get('Success'), True)
     self.assertEqual(body.get('Message'), get_api_ok_message())
     request_id = body.get('RequestID')
     self.assertTrue(request_id)
     return request_id
コード例 #12
0
ファイル: api_utils.py プロジェクト: sbaldassin/pepito
def create_areto_api_object(resource, data, success=True, msg=get_api_ok_message()):
    response = requests.post(resource, data=json.dumps(data), headers=get_api_headers())
    assert response.status_code == 200
    body = response.json()
    assert body.get('Success') == success
    assert body.get('Message').lower() == msg.lower()
    request_id = body.get('RequestID')
    if success:
        assert request_id is not None
    else:
        assert request_id == 0
    return request_id
コード例 #13
0
 def cancel_wagers_sports(self, data):
     wager_parimutuel_response = requests.delete(get_wager_sport_resource(channel=''),
                                             data=json.dumps(data),
                                             headers=get_api_headers())
     self.assertTrue(wager_parimutuel_response.status_code, 200)
     body = wager_parimutuel_response.json()
     logging.info("Cancel Wager Parimutuel API response: {}".format(body))
     self.assertEqual(body.get('Success'), True)
     self.assertEqual(body.get('Message'), get_api_ok_message())
     request_id = body.get('RequestID')
     self.assertTrue(request_id)
     return request_id
コード例 #14
0
    def _create_wagers(player, wagers=[]):
        _wagers = [create_casino()] if wagers == [] else wagers
        logging.info("Creating wagers: {}".format([r.__dict__ for r in _wagers]))

        data = {"PlayerID": player.PlayerID, "InitID": generate_random_int(),
                "Wagers": [r.__dict__ for r in _wagers]}
        logging.info("Request data: {}".format(json.dumps(data)))
        response = requests.post(get_wager_casino_resource(),
                                 data=json.dumps(data),
                                 headers=get_api_headers())

        logging.info("API response: {}".format(response.json()))
        return wagers, response.json()["RequestID"]
コード例 #15
0
    def test_tc_4_signin_without_channel(self):
        player = create_random_player(player_id_length=30)
        logging.info("Creating player: {}".format(player.__dict__))

        # Create player
        channel = 2
        self.create_and_validate_player(player, channel)

        # Signin_channel_1
        channel = ''
        player_sign_in_response = requests.post(get_player_sign_in_resource(
            player_id=player.PlayerID, channel=channel),
                                                headers=get_api_headers())
        self.assertTrue(player_sign_in_response.status_code, 404)
コード例 #16
0
    def create_and_validate_signin(self, player, channel=1):
        player_sign_in_response = requests.post(get_player_sign_in_resource(player_id=player.PlayerID, channel=channel),
                                                headers=get_api_headers())
        self.assertTrue(player_sign_in_response.status_code, 200)
        body = player_sign_in_response.json()
        logging.info("API response: {}".format(body))
        self.assertEqual(body.get('Result').get('Success'), True)
        self.assertEqual(body.get('Result').get('Message'), get_api_ok_message())
        signin_id = body.get('ID')
        self.assertTrue(signin_id)

        q_net_signin = self.get_signin(player)[0]
        self.assertEqual(signin_id, q_net_signin['SignInID'])
        return signin_id
コード例 #17
0
    def create_and_validate_wager_parimutuel(self, player, wagers, signin_id=None, channel=1):
        data = {"PlayerID": player.PlayerID, "InitID": signin_id, "Wagers": wagers}

        wager_parimutuel_response = requests.post(get_wagers_parimutuel_resource(channel=channel),
                                                  data=json.dumps(data),
                                                  headers=get_api_headers())
        self.assertTrue(wager_parimutuel_response.status_code, 200)
        body = wager_parimutuel_response.json()
        logging.info("Wager Parimutuel API response: {}".format(body))
        self.assertEqual(body.get('Success'), True)
        self.assertEqual(body.get('Message'), get_api_ok_message())
        request_id = body.get('RequestID')
        self.assertTrue(request_id)
        return data, request_id
コード例 #18
0
    def test_tc_12_wager_parimutuel_empty_wagers_list(self):
        # New test
        player = create_random_player(player_id_length=40)
        data = {"PlayerID": player.PlayerID, "Wagers": []}

        wager_parimutuel_response = requests.post(get_wagers_parimutuel_resource(),
                                                  data=json.dumps(data),
                                                  headers=get_api_headers())

        self.assertTrue(wager_parimutuel_response.status_code, 200)
        body = wager_parimutuel_response.json()
        self.assertEqual(body.get('Success'), False)
        self.assertEqual(body.get('Message'), get_api_error_wager_list_empty())
        self.assertEqual(body.get('RequestID'), 0)
コード例 #19
0
ファイル: test_withdrawal.py プロジェクト: sbaldassin/pepito
    def _create_player_with_withdrawal(withdrawal=None):
        player = create_random_player(player_id_length=40)
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(),
                                 data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        body = response.json()
        logging.info("API response: {}".format(body))

        withdrawal = create_withdrawal() if withdrawal is None else withdrawal
        logging.info("Creating withdrawal: {}".format(withdrawal.__dict__))

        data = {
            "PlayerID": player.PlayerID,
            "InitID": generate_random_int(),
            "Withdrawals": [withdrawal.__dict__]
        }
        logging.info("Request data: {}".format(data))
        response = requests.post(get_withdrawal_resource(),
                                 data=json.dumps(data),
                                 headers=get_api_headers())

        logging.info("API response: {}".format(response.json()))
        return player, withdrawal, response.json()["RequestID"]
コード例 #20
0
 def create_and_validate_player(self, player):
     player_sign_up_response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                             headers=get_api_headers())
     self.assertTrue(player_sign_up_response.status_code, 200)
     body = player_sign_up_response.json()
     logging.info("API response: {}".format(body))
     self.assertTrue(body.get('Success'), True)
     self.assertEqual(body.get('Message'), get_api_ok_message())
     
     q_net_customer_list = self.get_customer(player)
     self.assertEqual(len(q_net_customer_list), 1)
     q_net_customer = q_net_customer_list[0]
     self.assertTrue(q_net_customer)
     self.assertEqual(player.PlayerID, q_net_customer['ExternalCustomerID'])
     self.assertEqual(player.Email, q_net_customer['Email'])
コード例 #21
0
    def update_and_validate_player(self, player, obj_field, db_field):
        player_update_response = requests.post(get_player_update_resource(),
                                               data=json.dumps(
                                                   player.__dict__),
                                               headers=get_api_headers())
        self.assertTrue(player_update_response.status_code, 200)
        body = player_update_response.json()
        self.assertEqual(body.get('Success'), True)
        self.assertEqual(body.get('Message'), get_api_ok_message())
        updated_q_net_customer_list = self.get_customer(player)
        updated_q_net_customer = [
            c for c in updated_q_net_customer_list
            if getattr(player, obj_field) == c[db_field]
        ]

        self.assertTrue(updated_q_net_customer)
        return updated_q_net_customer[0]
コード例 #22
0
ファイル: test_bonus.py プロジェクト: sbaldassin/pepito
    def _create_bonuses(player, bonuses=[]):
        _bonuses = [create_bonus()] if bonuses == [] else bonuses
        logging.info("Creating bonus: {}".format(
            [r.__dict__ for r in _bonuses]))

        data = {
            "PlayerID": player.PlayerID,
            "InitID": generate_random_int(),
            "Bonuses": [r.__dict__ for r in _bonuses]
        }
        logging.info("Request data: {}".format(json.dumps(data)))
        response = requests.post(get_bonus_resource(),
                                 data=json.dumps(data),
                                 headers=get_api_headers())

        logging.info("API response: {}".format(response.json()))
        return bonuses, response.json()["RequestID"]
コード例 #23
0
ファイル: test_deposit.py プロジェクト: sbaldassin/pepito
    def _create_revenues(player, revenues=[]):
        revenues = [create_revenue()] if revenues == [] else revenues
        logging.info("Creating revenue: {}".format(
            [r.__dict__ for r in revenues]))

        data = {
            "PlayerID": player.PlayerID,
            "InitID": generate_random_int(),
            "Transactions": [r.__dict__ for r in revenues]
        }
        logging.info("Request data: {}".format(json.dumps(data)))
        response = requests.post(get_deposit_resource(),
                                 data=json.dumps(data),
                                 headers=get_api_headers())

        logging.info("API response: {}".format(response.json()))
        return revenues, response.json()["RequestID"]
コード例 #24
0
ファイル: test_payouts.py プロジェクト: sbaldassin/pepito
    def _create_payouts(player, payout_type, payouts=[]):
        _payouts = [create_payout(
            payout_type=payout_type)] if payouts == [] else payouts
        logging.info("Creating payouts: {}".format(
            [r.__dict__ for r in _payouts]))

        data = {
            "PlayerID": player.PlayerID,
            "InitID": int(generate_random_int()),
            "Payouts": [r.__dict__ for r in _payouts]
        }
        logging.info("Request data: {}".format(json.dumps(data)))
        response = requests.post(get_payout_resource(),
                                 data=json.dumps(data),
                                 headers=get_api_headers())

        logging.info("API response: {}".format(response.json()))
        return payouts, response.json()["RequestID"]
コード例 #25
0
    def test_tc_2_player_registration_id_41_chars(self):
        player = create_random_player(player_id_length=41)
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 200)
        body = response.json()
        logging.info("API response: {}".format(body))
        self.assertFalse(body.get('Success'))
        self.assertTrue(body.get('Message'), 'PlayerID too long')

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        self.assertFalse(q_net_customer)
        self.assertFalse(q_net_dw_fact_signup)
コード例 #26
0
    def test_tc_5_player_registration_empty_name(self):
        player = create_random_player()
        player.Name = ''
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 200)
        body = response.json()
        logging.info("API response: {}".format(body))
        self.assertTrue(body.get('Success'), True)

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        self.assertTrue(q_net_customer)
        self.assertTrue(q_net_dw_fact_signup)
コード例 #27
0
    def test_tc_4_player_registration_invalid_email(self):
        player = create_random_player()
        player.Email = '12345.com'
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 200)
        body = response.json()
        logging.info("API response: {}".format(body))
        self.assertFalse(body.get('Success'))
        self.assertTrue(body.get('Message'), 'Email not being passed or is invalid')

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        self.assertFalse(q_net_customer)
        self.assertFalse(q_net_dw_fact_signup)
コード例 #28
0
    def test_tc_1_player_registration_id_40_chars(self):
        player = create_random_player(player_id_length=40)
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 200)
        body = response.json()
        logging.info("API response: {}".format(body))
        self.assertTrue(body.get('Success'), True)

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        self.assertTrue(q_net_customer)
        self.assertTrue(q_net_dw_fact_signup)
        self.assertEqual(player.PlayerID, q_net_customer['ExternalCustomerID'])
        self.assertEqual(player.Email, q_net_customer['Email'])
        self.assertEqual(player.Name, q_net_customer['Name'])
        self.assertEqual(player.Surname, q_net_customer['Surname'])
コード例 #29
0
    def test_tc_1_a_player_registration_french(self):
        player = create_random_player(player_id_length=40)
        player.Name = u"Le jeu du garçon"
        player.Surname = u"Le jeu du garçon"
        player.CountryCode = u"FR"
        player.City = u"Nîmes"
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 200)
        body = response.json()
        logging.info("API response: {}".format(body))
        self.assertTrue(body.get('Success'), True)

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()

        self.assertTrue(q_net_customer)
        self.assertTrue(q_net_dw_fact_signup)
コード例 #30
0
    def test_tc_37_player_registration_empty_optout_push(self):
        player = create_random_player()
        player.OptOutPush = ""
        logging.info("Creating player: {}".format(player.__dict__))
        response = requests.post(get_player_sign_up_resource(), data=json.dumps(player.__dict__),
                                 headers=get_api_headers())
        self.assertTrue(response.status_code, 500)
        body = response.json()
        logging.info("API response: {}".format(body))

        q_net_customer = requests.get("http://{}/customer?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        q_net_dw_fact_signup = requests.get("http://{}/sign_up?customer_id={}".format(
            get_config().get("test_framework", "db"), player.PlayerID)).json()[0]

        self.assertTrue(q_net_customer)
        self.assertTrue(q_net_dw_fact_signup)
        self.assertEquals(q_net_customer["OptOutPush"], False)

        self.assertTrue(body['Success'])
        self.assertEqual(body["Message"], "OK")