blob: f491f8cdb5c2a3a2a07c12014a98edd404a49d31 (
plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# This file is part of cloud-init. See LICENSE file for license information.
"""Tests of the built-in user data handlers."""
import os
from pathlib import Path
from tests.unittests import helpers as test_helpers
from cloudinit import sources
class MyDataSource(sources.DataSource):
_instance_id = None
def get_instance_id(self):
return self._instance_id
class TestPaths(test_helpers.ResourceUsingTestCase):
def test_get_ipath_and_instance_id_with_slashes(self):
myds = MyDataSource(sys_cfg={}, distro=None, paths={})
myds._instance_id = "/foo/bar"
safe_iid = "_foo_bar"
mypaths = self.getCloudPaths(myds)
self.assertEqual(
os.path.join(mypaths.cloud_dir, 'instances', safe_iid),
mypaths.get_ipath())
def test_get_ipath_and_empty_instance_id_returns_none(self):
myds = MyDataSource(sys_cfg={}, distro=None, paths={})
myds._instance_id = None
mypaths = self.getCloudPaths(myds)
self.assertIsNone(mypaths.get_ipath())
class Testcloud_init_project_dir:
top_dir = test_helpers.get_top_level_dir()
@staticmethod
def _get_top_level_dir_alt_implementation():
"""Alternative implementation for comparing against.
Note: Recursively searching for .git/ fails during build tests due to
.git not existing. This implementation assumes that ../../../ is the
relative path to the cloud-init project directory form this file.
"""
out = Path(__file__).parent.parent.parent.resolve()
return out
def test_top_level_dir(self):
"""Assert the location of the top project directory is correct"""
assert (self.top_dir ==
self._get_top_level_dir_alt_implementation())
def test_cloud_init_project_dir(self):
"""Assert cloud_init_project_dir produces an expected location
Compare the returned value to an alternate (naive) implementation
"""
assert (
str(Path(self.top_dir, "test"))
== test_helpers.cloud_init_project_dir("test")
== str(Path(self._get_top_level_dir_alt_implementation(), "test"))
)
# vi: ts=4 expandtab
|