blob: 187716bf4e107760204a0b72a6caadc701dfea96 [file] [log] [blame]
Scott Baker04abc4e2015-09-28 16:01:21 -07001from basetest import BaseToscaTest
2
3from core.models import Service
4
5class EngineTest(BaseToscaTest):
6 tests = ["intrinsic_get_artifact",
7 "intrinsic_get_script_env",
8 "intrinsic_get_script_env_noisy" ]
9
10 def cleanup(self):
11 self.try_to_delete(Service, name="testservice")
12
13 def intrinsic_get_artifact(self):
14 self.assert_noobj(Service, "testservice")
15 file("/tmp/somevar","w").write("somevalue")
16 self.execute(self.make_nodetemplate("testservice", "tosca.nodes.Service",
17 props={"public_key": "{ get_artifact: [ SELF, somevar, LOCAL_FILE] }"},
18 artifacts={"somevar": "/tmp/somevar"}))
Scott Baker0e573722015-09-28 18:19:16 -070019 self.assert_obj(Service, "testservice", public_key="somevalue")
Scott Baker04abc4e2015-09-28 16:01:21 -070020
21 def intrinsic_get_script_env(self):
22 self.assert_noobj(Service, "testservice")
23 file("/tmp/somescript","w").write( \
24"""#! /bin/bash
25FOO=123
26BAR=456
27JUNK=789
28""")
29 self.execute(self.make_nodetemplate("testservice", "tosca.nodes.Service",
30 props={"public_key": "{ get_script_env: [ SELF, somescript, BAR, LOCAL_FILE] }"},
31 artifacts={"somescript": "/tmp/somescript"}))
32 self.assert_obj(Service, "testservice", public_key="456")
33
34 def intrinsic_get_script_env_noisy(self):
35 self.assert_noobj(Service, "testservice")
36 file("/tmp/somescript","w").write( \
37"""#! /bin/bash
38echo "junk"
39echo "oh no! something got written to stderr! This always breaks stuff!" >&2
40FOO=123
41echo "more junk"
42BAR=456
43echo "even more junk"
44JUNK=789
45echo "BAR=oops"
46""")
47 self.execute(self.make_nodetemplate("testservice", "tosca.nodes.Service",
48 props={"public_key": "{ get_script_env: [ SELF, somescript, BAR, LOCAL_FILE] }"},
49 artifacts={"somescript": "/tmp/somescript"}))
50 self.assert_obj(Service, "testservice", public_key="456")
51
52if __name__ == "__main__":
53 EngineTest()