コード例 #1
0
    def test_creates_file_on_save(self):
        self.assertFalse(os.path.exists(self.env_file), msg='sanity check')

        e = env.Environment(filename=self.env_file, name='simple')
        e.save()

        self.assertTrue(os.path.exists(self.env_file))
コード例 #2
0
    def _test_saves_yaml_representation_of_file(self):
        e = env.Environment(filename=self.env_file, name='simple')
        e.save()

        with open(self.env_file, "rb") as fp:
            actual = fp.read()

        self.assert_(len(actual) > 0, msg='sanity check')
        self.assertEqual(e.to_yaml(), actual)
コード例 #3
0
 def test_other_tips_of_dependencies_are_supported(self):
     e = env.Environment(
         dependencies=['nltk', {'pip': ['foo', 'bar']}]
     )
     expected = OrderedDict([
         ('conda', ['nltk', 'pip']),
         ('pip', ['foo', 'bar'])
     ])
     self.assertEqual(e.dependencies, expected)
コード例 #4
0
    def test_to_dict_returns_dictionary_of_data(self):
        random_name = 'random{}'.format(random.randint(100, 200))
        e = env.Environment(name=random_name,
                            channels=['javascript'],
                            dependencies=['nodejs'])

        expected = {
            'name': random_name,
            'channels': ['javascript'],
            'dependencies': ['nodejs']
        }
        self.assertEqual(e.to_dict(), expected)
コード例 #5
0
    def test_to_yaml_returns_proper_yaml(self):
        random_name = 'random{}'.format(random.randint(100, 200))
        e = env.Environment(name=random_name,
                            channels=['javascript'],
                            dependencies=['nodejs'])

        expected = '\n'.join([
            "name: %s" % random_name, "channels:", "  - javascript",
            "dependencies:", "  - nodejs", ""
        ])

        actual = e.to_yaml()
        self.assertEqual(expected, actual)
コード例 #6
0
    def test_to_yaml_returns_yaml_parseable_string(self):
        random_name = 'random{}'.format(random.randint(100, 200))
        e = env.Environment(name=random_name,
                            channels=['javascript'],
                            dependencies=['nodejs'])

        expected = {
            'name': random_name,
            'channels': ['javascript'],
            'dependencies': ['nodejs']
        }

        actual = yaml_round_trip_load(StringIO(e.to_yaml()))
        self.assertEqual(expected, actual)
コード例 #7
0
    def test_to_yaml_takes_stream(self):
        random_name = 'random{}'.format(random.randint(100, 200))
        e = env.Environment(name=random_name,
                            channels=['javascript'],
                            dependencies=['nodejs'])

        s = FakeStream()
        e.to_yaml(stream=s)

        expected = "\n".join([
            'name: %s' % random_name,
            'channels:',
            '  - javascript',
            'dependencies:',
            '  - nodejs',
            '',
        ])
        assert expected == s.output
コード例 #8
0
 def test_to_dict_returns_just_name_if_only_thing_present(self):
     e = env.Environment(name='simple')
     expected = {'name': 'simple'}
     self.assertEqual(e.to_dict(), expected)
コード例 #9
0
 def test_has_filename_if_provided(self):
     r = random.randint(100, 200)
     random_filename = '/path/to/random/environment-{}.yml'.format(r)
     e = env.Environment(filename=random_filename)
     self.assertEqual(e.filename, random_filename)
コード例 #10
0
 def test_remove_channels(self):
     e = env.Environment(channels=['channel'])
     e.remove_channels()
     self.assertEqual(e.channels, [])
コード例 #11
0
 def test_add_channels(self):
     e = env.Environment()
     e.add_channels(['dup', 'dup', 'unique'])
     self.assertEqual(e.channels, ['dup', 'unique'])
コード例 #12
0
 def test_channels_default_to_empty_list(self):
     e = env.Environment()
     self.assertIsInstance(e.channels, list)
     self.assertEqual(e.channels, [])
コード例 #13
0
 def test_args_are_wildcarded(self):
     e = env.Environment(dependencies=['python=2.7'])
     expected = OrderedDict([('conda', ['python=2.7'])])
     self.assertEqual(e.dependencies, expected)
コード例 #14
0
 def test_builds_spec_from_line_raw_dependency(self):
     # TODO Refactor this inside conda to not be a raw string
     e = env.Environment(dependencies=['nltk=3.0.0=np18py27_0'])
     expected = OrderedDict([('conda', ['nltk==3.0.0=np18py27_0'])])
     self.assertEqual(e.dependencies, expected)
コード例 #15
0
 def test_dependencies_are_empty_by_default(self):
     e = env.Environment()
     self.assertEqual(0, len(e.dependencies))
コード例 #16
0
 def test_has_name_if_provided(self):
     random_name = 'random-{}'.format(random.randint(100, 200))
     e = env.Environment(name=random_name)
     self.assertEqual(e.name, random_name)
コード例 #17
0
 def test_has_empty_filename_by_default(self):
     e = env.Environment()
     self.assertEqual(e.filename, None)
コード例 #18
0
 def test_channels_are_provided_by_kwarg(self):
     random_channels = (random.randint(100, 200), random)
     e = env.Environment(channels=random_channels)
     self.assertEqual(e.channels, random_channels)