~charm-toolers/charm-tools/1.6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import unittest
from charmtools.generate import (
    graph,
    copy_file,
)
from mock import patch


class JujuCharmAddTest(unittest.TestCase):
    @patch('charmtools.generate.Charms')
    def test_graph(self, mcharm):
        m = mcharm.return_value
        m.search.return_value = [{'foo': 'bar'}]
        self.assertEqual(graph('nagios', 'requires'), {'foo': 'bar'})
        m.search.assert_called_with({'series': 'trusty',
                                     'provides': 'nagios'})

    @patch('charmtools.generate.Charms')
    def test_graph_no_interface(self, mcharm):
        m = mcharm.return_value
        m.search.return_value = None
        self.assertEqual(graph('nointerface', 'requires'), None)
        m.search.assert_called_with({'series': 'trusty',
                                     'provides': 'nointerface'})

    @patch('charmtools.generate.Charm')
    def test_not_charm(self, mcharm):
        mcharm.return_value.is_charm.return_value = False
        self.assertRaises(Exception, copy_file, '1.ex', '/no-charm')