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
|
import os
from mocker import MockerTestCase
from cloudinit import helpers as ch
class ResourceUsingTestCase(MockerTestCase):
def __init__(self, methodName="runTest"):
MockerTestCase.__init__(self, methodName)
self.resource_path = None
def resourceLocation(self, subname=None):
if self.resource_path is None:
paths = [
os.path.join('tests', 'data'),
os.path.join('data'),
os.path.join(os.pardir, 'tests', 'data'),
os.path.join(os.pardir, 'data'),
]
for p in paths:
if os.path.isdir(p):
self.resource_path = p
break
self.assertTrue((self.resource_path and os.path.isdir(self.resource_path)),
msg="Unable to locate test resource data path!")
if not subname:
return self.resource_path
return os.path.join(self.resource_path, subname)
def readResource(self, name):
where = self.resourceLocation(name)
with open(where, 'r') as fh:
return fh.read()
def getCloudPaths(self):
cp = ch.Paths({
'cloud_dir': self.makeDir(),
'templates_dir': self.resourceLocation(),
})
return cp
|