예제 #1
0
    def test_de_json_required(self, client, product):
        json_dict = {
            'in_app_products': [product.to_dict()],
            'native_products': [product.to_dict()],
            'web_payment_url': self.web_payment_url,
            'promo_codes_enabled': self.promo_codes_enabled
        }
        settings = Settings.de_json(json_dict, client)

        assert settings.in_app_products == [product]
        assert settings.native_products == [product]
        assert settings.web_payment_url == self.web_payment_url
        assert settings.promo_codes_enabled == self.promo_codes_enabled
예제 #2
0
    def test_de_json_all(self, client, product, price):
        json_dict = {
            'in_app_products': [product.to_dict()],
            'native_products': [product.to_dict()],
            'web_payment_url': self.web_payment_url,
            'promo_codes_enabled': self.promo_codes_enabled,
            'web_payment_month_product_price': price.to_dict()
        }
        settings = Settings.de_json(json_dict, client)

        assert settings.in_app_products == [product]
        assert settings.native_products == [product]
        assert settings.web_payment_url == self.web_payment_url
        assert settings.promo_codes_enabled == self.promo_codes_enabled
        assert settings.web_payment_month_product_price == price
예제 #3
0
    def settings(self, timeout=None, *args, **kwargs):
        """Получение предложений по покупке. Нет обязательных параметров.

        Args:
            timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
                ответа от сервера вместо указанного при создании пула.
            **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).

        Returns:
            :obj:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` предоставляющий информацию о
            предлагаемых продуктах, иначе :obj:`None`.

        Raises:
            :class:`yandex_music.YandexMusicError`
        """
        url = f'{self.base_url}/settings'

        result = self._request.get(url, timeout=timeout, *args, **kwargs)

        return Settings.de_json(result, self)
예제 #4
0
 def test_de_json_none(self, client):
     assert Settings.de_json({}, client) is None