Пример #1
0
 def test_missing_env(env):
     os.environ.pop(env)
     with self.assertRaises(cni.Error) as err:
         c = cni.Cni("{}")
     self.assertEquals(err.exception.code, cni.CNI_ERR_ENV)
     self.assertEquals(err.exception.msg,
                       'Missing environment variable ' + env)
     self.setUp()
Пример #2
0
 def test_delete_response(self):
     c = cni.Cni('{}')
     resp = c.delete_response()
     self.assertEquals(resp, {
         'cniVersion': cni.Cni.CNI_VERSION,
         'code': 0,
         'msg': 'Delete passed'
     })
Пример #3
0
 def test_version_response(self):
     c = cni.Cni('{}')
     resp = c.version_response()
     self.assertEquals(
         resp, {
             'cniVersion': cni.Cni.CNI_VERSION,
             'supportedVersions': [cni.Cni.CNI_VERSION],
         })
Пример #4
0
 def test_build_response(self):
     c = cni.Cni('{}')
     resp = c.build_response("10.10.0.3", "24", "10.10.0.1", "10.10.0.2")
     self.assertEquals(
         resp, {
             'cniVersion': cni.Cni.CNI_VERSION,
             'ip4': {
                 'gateway': '10.10.0.1',
                 'ip': '10.10.0.3/24',
                 'routes': [{
                     'dst': '0.0.0.0/0',
                     'gw': '10.10.0.1'
                 }]
             },
             'dns': {
                 'nameservers': ['10.10.0.2']
             }
         })
Пример #5
0
 def test_update(self):
     c = cni.Cni("{}")
     self.assertEquals(c.container_uuid, None)
     self.assertEquals(c.container_name, None)
     self.assertEquals(c.container_vn, None)
     c.update("a", "b", "c")
     self.assertEquals(c.container_uuid, "a")
     self.assertEquals(c.container_name, "b")
     self.assertEquals(c.container_vn, "c")
     c.update("a", "b")
     self.assertEquals(c.container_uuid, "a")
     self.assertEquals(c.container_name, "b")
     self.assertEquals(c.container_vn, "c")
     c.update(None, "d", "e")
     self.assertEquals(c.container_uuid, "a")
     self.assertEquals(c.container_name, "d")
     self.assertEquals(c.container_vn, "e")
     c.update("f", None, "g")
     self.assertEquals(c.container_uuid, "f")
     self.assertEquals(c.container_name, "f")
     self.assertEquals(c.container_vn, "g")
Пример #6
0
    def test_init(self):
        c = cni.Cni('{"key": "value"}')
        self.assertEquals(c.command, "add")
        self.assertEquals(c.container_id, "123")
        self.assertEquals(c.container_ifname, "eth0")
        self.assertEquals(c.container_netns, "/var/run/netns/container")
        self.stdin_string = '{"key": "value"}'
        self.stdin_json = {'key': 'value'}

        def test_missing_env(env):
            os.environ.pop(env)
            with self.assertRaises(cni.Error) as err:
                c = cni.Cni("{}")
            self.assertEquals(err.exception.code, cni.CNI_ERR_ENV)
            self.assertEquals(err.exception.msg,
                              'Missing environment variable ' + env)
            self.setUp()

        test_missing_env('CNI_COMMAND')
        test_missing_env('CNI_CONTAINERID')
        test_missing_env('CNI_IFNAME')
        test_missing_env('CNI_NETNS')
Пример #7
0
 def test_error_exit(self, mock_exit):
     c = cni.Cni('{}')
     c.error_exit(3, "Test Message")
     mock_exit.assert_called_once_with(3)