Esempio n. 1
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("account"),
        ))
        make_client(session).put_payment_method(
            account_id="aAaBbCcDdEeFfGg",
            payment_method_id="pm_abcdef",
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "defaultPaymentMethod": {
                    "Id": "pm_abcdef"
                },
            },
            "method":
            "put",
            "params":
            None,
            "url": ("https://1.2.3.4/v1"
                    "/accounts/aAaBbCcDdEeFfGg/customer-info/stripe"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 2
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).post_subscription_auto_renewal(
            subscription_id="sAaBbCcDdEeFfGg",
            should_auto_renew=True,
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "shouldAutoRenew": True
            },
            "method":
            "post",
            "params":
            None,
            "url": ("https://1.2.3.4/v1"
                    "/subscription/sAaBbCcDdEeFfGg/auto-renewal"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 3
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={
                "productListings": get_fixture("product-listings"),
                "products": get_fixture("products"),
            },
        ))

        make_client(session).get_product_listings(marketplace="canonical-ua")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json":
            None,
            "method":
            "get",
            "params":
            None,
            "url": ("https://1.2.3.4"
                    "/v1/marketplace/canonical-ua/product-listings"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 4
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={
                "accountInfo":
                get_fixture("account"),
                "users": [{
                    "accountInfo": get_fixture("account"),
                    "userInfo": get_fixture("user"),
                }],
            },
        ))
        make_client(session).get_account_users(account_id="aAbBcCdD")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {},
            "method": "get",
            "params": None,
            "url": "https://1.2.3.4/v1/accounts/aAbBcCdD/users",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 5
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("ensured-account"),
        ))
        make_client(session).ensure_purchase_account(
            email="email@url",
            account_name="Joe Doe",
            marketplace="canonical-ua",
            captcha_value="abcd1234",
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "email": "email@url",
                "accountName": "Joe Doe",
                "recaptchaToken": "abcd1234",
            },
            "method": "post",
            "params": None,
            "url": "https://1.2.3.4/v1/marketplace/canonical-ua/account",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 6
0
    def test_account_purchases_filters(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("purchases"),
        ))
        make_client(session).get_account_purchases(
            account_id="aABbCcdD",
            filters="?marketplace=canonical-ua",
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json":
            None,
            "method":
            "get",
            "params":
            None,
            "url": ("https://1.2.3.4/v1/accounts/aABbCcdD"
                    "/purchases?marketplace=canonical-ua"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 7
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).put_contract_entitlements(
            contract_id="cAbBcCdD",
            entitlements_request={
                "entitlements": [{
                    "type": "fips",
                    "is_enabled": True
                }]
            },
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "entitlements": [{
                    "type": "fips",
                    "is_enabled": True
                }]
            },
            "method": "put",
            "params": None,
            "url": "https://1.2.3.4/v1/contracts/cAbBcCdD/defaultEnablement",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 8
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).put_account_user_role(
            account_id="aAbBcCdD",
            user_role_request={
                "email": "*****@*****.**",
                "role": "admin",
                "nameHint": "Joe",
            },
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "email": "*****@*****.**",
                "role": "admin",
                "nameHint": "Joe",
            },
            "method": "put",
            "params": None,
            "url": "https://1.2.3.4/v1/accounts/aAbBcCdD/user-role",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 9
0
    def test_account_subscriptions_filters(self):
        session = Session(response=Response(
            status_code=200,
            content={"subscriptions": get_fixture("subscriptions")},
        ))
        make_client(session).get_account_subscriptions(
            account_id="aABbCcdD",
            marketplace="canonical-ua",
            filters="?status=active&period=monthly",
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json":
            None,
            "method":
            "get",
            "params":
            None,
            "url": ("https://1.2.3.4/v1/accounts/aABbCcdD"
                    "/marketplace/canonical-ua/subscriptions"
                    "?status=active&period=monthly"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 10
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).post_stripe_invoice_id(
            tx_type="purchase",
            tx_id="pAaBbCcDdEeFfGg",
            invoice_id="in_aAbBbCcDdEe",
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json":
            None,
            "method":
            "post",
            "params":
            None,
            "url": ("https://1.2.3.4/v1"
                    "/purchase/pAaBbCcDdEeFfGg/payment/stripe/in_aAbBbCcDdEe"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 11
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("account"),
        ))
        make_client(session).put_customer_info(
            account_id="aAaBbCcDdEeFfGg",
            payment_method_id="pm_abcdef",
            address={
                "city": "Lone Done",
                "country": "GB",
                "line1": "Road Street",
                "postal_code": "111000",
                "state": "",
            },
            name="Joe Doe",
            tax_id={
                "type": "eu_vat",
                "value": "GB 123 1234 14"
            },
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "defaultPaymentMethod": {
                    "Id": "pm_abcdef"
                },
                "paymentMethodID": "pm_abcdef",
                "address": {
                    "city": "Lone Done",
                    "country": "GB",
                    "line1": "Road Street",
                    "postal_code": "111000",
                    "state": "",
                },
                "name": "Joe Doe",
                "taxID": {
                    "type": "eu_vat",
                    "value": "GB 123 1234 14"
                },
            },
            "method":
            "put",
            "params":
            None,
            "url": ("https://1.2.3.4/v1"
                    "/accounts/aAaBbCcDdEeFfGg/customer-info/stripe"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 12
0
    def test_returns_list_of_accounts(self):
        session = Session(
            Response(
                status_code=200,
                content={"accounts": get_fixture("accounts")},
            ))
        ua_contracts_api = make_client(session)
        advantage_mapper = AdvantageMapper(ua_contracts_api)
        response = advantage_mapper.get_accounts()

        self.assertIsInstance(response, List)
        for item in response:
            self.assertIsInstance(item, Account)

        expectation = [
            Account(
                id="a123AbBcCdDeEfFgGhHiIjJkKlLmMnNoOpP",
                name="Free",
                role="admin",
            ),
            Account(
                id="aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpP",
                name="Account Name",
                role="admin",
            ),
        ]

        self.assertEqual(to_dict(expectation), to_dict(response))
Esempio n. 13
0
    def test_errors(self):
        cases = [
            (401, False, UAContractsAPIError),
            (401, True, UAContractsAPIErrorView),
            (500, False, UAContractsAPIError),
            (500, True, UAContractsAPIErrorView),
        ]

        for code, is_for_view, expected_error in cases:
            session = Session(response=Response(status_code=code, content={}))
            client = make_client(session, is_for_view=is_for_view)

            with self.assertRaises(expected_error):
                client.preview_purchase_from_marketplace(
                    marketplace="canonical-ua",
                    purchase_request={
                        "accountID":
                        "aAaBbCcDdEeFfGg",
                        "purchaseItems": [{
                            "productListingID": "lAaBbCcDdEeFfGg",
                            "metric": "active-machines",
                            "value": 5,
                        }],
                        "previousPurchaseID":
                        "pAaBbCcDdEeFfGg",
                    },
                )
Esempio n. 14
0
    def test_errors(self):
        cases = [
            (500, False, UAContractsAPIError),
            (500, True, UAContractsAPIErrorView),
        ]

        for code, is_for_view, expected_error in cases:
            session = Session(response=Response(status_code=code, content={}))
            client = make_client(session, is_for_view=is_for_view)

            with self.assertRaises(expected_error):
                client.post_purchase_calculate(
                    marketplace="canonical-ua",
                    request_body={
                        "country":
                        "GB",
                        "productItems": [
                            {
                                "productListingID": "lAaBbCcDdEeFfHh",
                                "value": 1,
                            },
                        ],
                        "hasTaxID":
                        True,
                    },
                )
Esempio n. 15
0
    def test_errors(self):
        cases = [
            (500, False, UAContractsAPIError),
            (500, True, UAContractsAPIErrorView),
        ]

        for code, is_for_view, expected_error in cases:
            session = Session(response=Response(status_code=code, content={}))
            client = make_client(session, is_for_view=is_for_view)

            with self.assertRaises(expected_error):
                client.put_anonymous_customer_info(
                    account_id="aAaBbCcDdEeFfGg",
                    address={
                        "city": "Lone Done",
                        "country": "GB",
                        "line1": "Road Street",
                        "postal_code": "111000",
                        "state": "",
                    },
                    name="Joe Doe",
                    tax_id={
                        "type": "eu_vat",
                        "value": "GB 123 1234 14"
                    },
                )
Esempio n. 16
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).post_purchase_calculate(
            marketplace="canonical-ua",
            request_body={
                "country":
                "GB",
                "productItems": [
                    {
                        "productListingID": "lAaBbCcDdEeFfHh",
                        "value": 1,
                    },
                ],
                "hasTaxID":
                True,
            },
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "country":
                "GB",
                "productItems": [
                    {
                        "productListingID": "lAaBbCcDdEeFfHh",
                        "value": 1,
                    },
                ],
                "hasTaxID":
                True,
            },
            "method":
            "post",
            "params":
            None,
            "url": ("https://1.2.3.4"
                    "/v1/marketplace/canonical-ua/purchase/calculate"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 17
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("offers"),
        ))
        make_client(session).get_account_offers("account_id")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": None,
            "method": "get",
            "params": None,
            "url": "https://1.2.3.4/v1/accounts/account_id/offers",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 18
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("account"),
        ))
        make_client(session).get_purchase_account("canonical-ua")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": None,
            "method": "get",
            "params": None,
            "url": "https://1.2.3.4/v1/marketplace/canonical-ua/account",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 19
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("purchase"),
        ))
        make_client(session).get_purchase(purchase_id="pAaAbBbCcDdEe")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": None,
            "method": "get",
            "params": None,
            "url": "https://1.2.3.4/v1/purchase/pAaAbBbCcDdEe",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 20
0
    def test_success_returns_none(self):
        session = Session(response=Response(
            status_code=200,
            content={"no-token": ""},
        ))
        make_client(session).get_contract_token(contract_id="cABbCcdD")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {},
            "method": "post",
            "params": None,
            "url": "https://1.2.3.4/v1/contracts/cABbCcdD/token",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 21
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("purchase"),
        ))
        make_client(session).preview_purchase_from_marketplace(
            marketplace="canonical-ua",
            purchase_request={
                "accountID":
                "aAaBbCcDdEeFfGg",
                "purchaseItems": [{
                    "productListingID": "lAaBbCcDdEeFfGg",
                    "metric": "active-machines",
                    "value": 5,
                }],
                "previousPurchaseID":
                "pAaBbCcDdEeFfGg",
            },
        )

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {
                "accountID":
                "aAaBbCcDdEeFfGg",
                "purchaseItems": [{
                    "productListingID": "lAaBbCcDdEeFfGg",
                    "metric": "active-machines",
                    "value": 5,
                }],
                "previousPurchaseID":
                "pAaBbCcDdEeFfGg",
            },
            "method":
            "post",
            "params":
            None,
            "url": ("https://1.2.3.4/v1"
                    "/marketplace/canonical-ua/purchase/preview"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 22
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content={},
        ))
        make_client(session).cancel_subscription(
            subscription_id="sAaBbCcDdEeFfGg")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": None,
            "method": "delete",
            "params": None,
            "url": "https://1.2.3.4/v1/subscriptions/sAaBbCcDdEeFfGg",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 23
0
    def test_returns_list_of_contracts(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("contract"),
        ))
        ua_contracts_api = make_client(session)
        advantage_mapper = AdvantageMapper(ua_contracts_api)
        response = advantage_mapper.get_contract(
            "cAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpP")

        self.assertIsInstance(response, Contract)
Esempio n. 24
0
    def test_returns_list_of_contracts(self):
        session = Session(response=Response(
            status_code=200,
            content={"contracts": get_fixture("contracts")},
        ))
        ua_contracts_api = make_client(session)
        advantage_mapper = AdvantageMapper(ua_contracts_api)
        response = advantage_mapper.get_account_contracts("aAbBcCdD")

        self.assertIsInstance(response, List)
        for item in response:
            self.assertIsInstance(item, Contract)
Esempio n. 25
0
    def test_errors(self):
        cases = [
            (500, False, UAContractsAPIError),
            (500, True, UAContractsAPIErrorView),
        ]

        for code, is_for_view, expected_error in cases:
            session = Session(response=Response(status_code=code, content={}))
            client = make_client(session, is_for_view=is_for_view)

            with self.assertRaises(expected_error):
                client.get_account_users(account_id="aAbBcCdD")
Esempio n. 26
0
    def test_returns_account_offers(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("offers"),
        ))
        ua_contracts_api = make_client(session)
        advantage_mapper = AdvantageMapper(ua_contracts_api)
        response = advantage_mapper.get_account_offers("account_id")

        self.assertIsInstance(response, List)
        for item in response:
            self.assertIsInstance(item, Offer)
Esempio n. 27
0
    def test_view_as_adds_email(self):
        session = Session(
            Response(
                status_code=200,
                content={"accounts": get_fixture("accounts")},
            ))
        make_client(session).get_accounts(email="*****@*****.**")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": None,
            "method": "get",
            "params": {
                "email": "*****@*****.**"
            },
            "url": "https://1.2.3.4/v1/accounts",
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 28
0
    def test_errors(self):
        cases = [
            (500, False, UAContractsAPIError),
            (500, True, UAContractsAPIErrorView),
        ]

        for code, is_for_view, expected_error in cases:
            session = Session(response=Response(status_code=code, content={}))
            client = make_client(session, is_for_view=is_for_view)

            with self.assertRaises(expected_error):
                client.cancel_subscription(subscription_id="sAaBbCcDdEeFfGg")
Esempio n. 29
0
    def test_success(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("contract"),
        ))

        make_client(session).get_contract("cAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpP")

        expected_args = {
            "headers": {
                "Authorization": "Macaroon secret-token"
            },
            "json": {},
            "method":
            "get",
            "params":
            None,
            "url":
            ("https://1.2.3.4/v1/contracts/cAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpP"),
        }

        self.assertEqual(session.request_kwargs, expected_args)
Esempio n. 30
0
    def test_returns_account_purchases(self):
        session = Session(response=Response(
            status_code=200,
            content=get_fixture("purchases"),
        ))
        ua_contracts_api = make_client(session)
        advantage_mapper = AdvantageMapper(ua_contracts_api)
        response = advantage_mapper.get_account_purchases(
            account_id="aABbCcdD", )

        self.assertIsInstance(response, List)
        for item in response:
            self.assertIsInstance(item, Purchase)