Exemple #1
0
 def test_build_url(self):
     # build_url()がテスト対象の処理
     from booksearch.api import build_url
     expected = 'https://www.googleapis.com/books/v1/volumes?q=python'
     actual = build_url({'q': 'python'})
     # アサーションメソッドの利用
     self.assertEqual(expected, actual)
Exemple #2
0
    def test_build_url_fail(self):
        from booksearch.api import build_url

        expected = 'https://www.googleapis.com/books/v1/volumes'
        actual = build_url({})

        self.assertEqual(expected, actual, msg='このテストは失敗します')
Exemple #3
0
    def test_build_url_empty_param(self):
        from booksearch.api import build_url

        expected = 'https://www.googleapis.com/books/v1/volumes?'
        actual = build_url({})

        self.assertEqual(expected, actual)
Exemple #4
0
    def test_build_url_multi(self):
        from booksearch.api import build_url
        base = 'https://www.googleapis.com/books/v1/volumes?'

        params = (
            (f'{base}q=python', {'q': 'python'}),
            (f'{base}q=python&maxResults=1',
             {'q': 'python', 'maxResults': 1}),
            (f'{base}q=python&langRestrict=en', {
             'q': 'python', 'langRestrict': 'en'}),
        )
        for expected, param in params:
            with self.subTest(**param):
                actual = build_url(param)
                self.assertEqual(expected, actual)
Exemple #5
0
    def test_build_url_multi(self):
        from booksearch.api import build_url

        base = 'https://www.googleapis.com/books/v1/volumes?'
        expected_url = f'{base}q=python'
        params = ((expected_url, {
            'q': 'python'
        }), (expected_url, {
            'q': 'python',
            'maxResults': 1
        }), (expected_url, {
            'q': 'python',
            'langRestrict': 'en'
        }))

        for expected, param in params:
            # withブロック1つがテストケース1つに相当する
            with self.subTest(**param):
                actual = build_url(param)
                self.assertEqual(expected, actual)