Completed
Pull Request — develop (#462)
by
unknown
40s
created

IPythonNotebookTestCase.test_version()   A

Complexity

Conditions 2

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
from __future__ import unicode_literals
2
3
import unittest
4
5
from collections import namedtuple
6
7
from freezegun import freeze_time
8
9
from binstar_client.inspect_package.ipynb import inspect_ipynb_package
10
from binstar_client.utils.test.utils import data_dir
11
12
13
class InspectIPYNBPackageTest(unittest.TestCase):
14
    def test_package_data(self):
15
        with open(data_dir('notebook.ipynb')) as fd:
16
            package_data, _, _ = inspect_ipynb_package('notebook.ipynb', fd)
17
18
        self.assertEqual({
19
            'name': 'notebook',
20
            'description': 'ipynb description',
21
            'summary': 'ipynb summary',
22
        }, package_data)
23
24
    def test_package_data_no_metadata(self):
25
        with open(data_dir('notebook-no-metadata.ipynb')) as fd:
26
            package_data, _, _ = inspect_ipynb_package('notebook.ipynb', fd)
27
28
        self.assertEqual({
29
            'name': 'notebook',
30
            'description': 'Jupyter Notebook',
31
            'summary': 'Jupyter Notebook',
32
        }, package_data)
33
34
    def test_package_data_normalized_name(self):
35
        with open(data_dir('notebook.ipynb')) as fd:
36
            package_data, _, _ = inspect_ipynb_package('test nótëbOOk.ipynb', fd)
37
38
        self.assertIn('name', package_data)
39
        self.assertEqual(package_data['name'], 'test-notebook')
40
41
    def test_package_thumbnail(self):
42
        parser_args = namedtuple('parser_args', ['thumbnail'])(data_dir('43c9b994a4d96f779dad87219d645c9f.png'))
43
        with open(data_dir('notebook.ipynb')) as fd:
44
            package_data, _, _ = inspect_ipynb_package('notebook.ipynb', fd, parser_args=parser_args)
45
46
        self.assertIn('thumbnail', package_data)
47
48
    def test_release_data(self):
49
        with freeze_time('2018-02-01 09:10:00', tz_offset=0):
50
            with open(data_dir('notebook.ipynb')) as fd:
51
                _, release_data, _ = inspect_ipynb_package('notebook.ipynb', fd)
52
53
        self.assertEqual({
54
            'version': '2018.02.01.0910',
55
            'description': 'ipynb description',
56
            'summary': 'ipynb summary',
57
        }, release_data)
58
59
    def test_release_data_no_metadata(self):
60
        with freeze_time('2018-05-03 12:30:00', tz_offset=0):
61
            with open(data_dir('notebook-no-metadata.ipynb')) as fd:
62
                _, release_data, _ = inspect_ipynb_package('notebook-no-metadata.ipynb', fd)
63
64
        self.assertEqual({
65
            'version': '2018.05.03.1230',
66
            'description': 'Jupyter Notebook',
67
            'summary': 'Jupyter Notebook',
68
        }, release_data)
69
70
    def test_file_data(self):
71
        with open(data_dir('notebook.ipynb')) as fd:
72
            _, _, file_data = inspect_ipynb_package('notebook.ipynb', fd)
73
74
        self.assertEqual({
75
            'basename': 'notebook.ipynb',
76
            'attrs': {}
77
        }, file_data)
78