Completed
Pull Request — develop (#115)
by Wu
01:10
created

test_get_envs()   A

Complexity

Conditions 1

Size

Total Lines 48

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 48
rs 9.125
cc 1
1
""" Nosetests for travis2bashes script
2
"""
3
from __future__ import absolute_import, print_function
4
5
import os
6
import sys
7
sys.path.append(os.path.dirname(__file__))
8
9
from travisparse import get_envs, TravisError
10
from nose.tools import assert_equal, assert_true, assert_false, assert_raises
11
12
13
def test_get_envs():
14
    # Get fetch of environment from .travis.yml
15
    assert_equal(get_envs({}), '')
16
    assert_equal(get_envs(dict(install = ['something'])), '')
17
    yaml = dict(env = {'global': ['LATEST_TAG=1'],
18
                       'matrix': ['VERSION=2.7.8 NUMPY_VERSION=1.6.1',
19
                                  'VERSION=3.3.5 NUMPY_VERSION=1.7.1',
20
                                  'VERSION=3.4.1 NUMPY_VERSION=1.7.1']})
21
    assert_equal(get_envs(yaml),
22
"""LATEST_TAG=1
23
VERSION=2.7.8 NUMPY_VERSION=1.6.1
24
""")
25
    yaml = dict(env = {'matrix': ['VERSION=2.7.8 NUMPY_VERSION=1.6.1',
26
                                  'VERSION=3.3.5 NUMPY_VERSION=1.7.1',
27
                                  'VERSION=3.4.1 NUMPY_VERSION=1.7.1']})
28
    assert_equal(get_envs(yaml),
29
"""VERSION=2.7.8 NUMPY_VERSION=1.6.1
30
""")
31
    yaml = dict(env = ['ISOLATED=true', 'ISOLATED=false'])
32
    assert_equal(get_envs(yaml),
33
"""ISOLATED=true
34
""")
35
    # excludes too complicated
36
    yaml = dict(env = {'matrix':
37
                       {'exclude':
38
                        [{'gemfile': 'Gemfile', 'rvm': '2.0.0'}]}})
39
    assert_raises(TravisError, get_envs, yaml)
40
    # includes too complicated
41
    yaml = dict(env = {'matrix':
42
                       {'include':
43
                        [{'gemfile': 'gemfiles/Gemfile.rails-3.2.x',
44
                          'rvm': 'ruby-head',
45
                          'env': 'ISOLATED=false'}]}})
46
    assert_raises(TravisError, get_envs, yaml)
47
    # global implies matrix
48
    yaml = dict(env = {'global': ['LATEST_TAG=1']})
49
    assert_raises(TravisError, get_envs, yaml)
50
    # one line is OK too
51
    yaml = dict(env = {'global': 'LATEST_TAG=1',
52
                       'matrix': 'VERSION=3.3.1'})
53
    assert_equal(get_envs(yaml),
54
"""LATEST_TAG=1
55
VERSION=3.3.1
56
""")
57
    yaml = dict(env = 'MY_VAR=1')
58
    assert_equal(get_envs(yaml),
59
"""MY_VAR=1
60
""")
61