def test_process_environment_relative_file(self): self.m.StubOutWithMock(urlutils, 'urlopen') env_file = '/home/my/dir/env.yaml' env_url = 'file:///home/my/dir/env.yaml' env = ''' resource_registry: "OS::Thingy": a.yaml ''' tmpl = '{"foo": "bar"}' urlutils.urlopen(env_url).AndReturn( six.StringIO(env)) urlutils.urlopen('file:///home/my/dir/a.yaml').AndReturn( six.StringIO(tmpl)) self.m.ReplayAll() self.assertEqual( env_url, template_utils.normalise_file_path_to_url(env_file)) self.assertEqual( 'file:///home/my/dir', template_utils.base_url_for_url(env_url)) files, env_dict = template_utils.process_environment_and_files( env_file) self.assertEqual( {'resource_registry': { 'OS::Thingy': 'file:///home/my/dir/a.yaml'}}, env_dict) self.assertEqual( '{"foo": "bar"}', files['file:///home/my/dir/a.yaml'])
def test_process_environment_relative_file(self): self.m.StubOutWithMock(request, 'urlopen') env_file = '/home/my/dir/env.yaml' env_url = 'file:///home/my/dir/env.yaml' env = b''' resource_registry: "OS::Thingy": a.yaml ''' request.urlopen(env_url).AndReturn( six.BytesIO(env)) request.urlopen('file:///home/my/dir/a.yaml').AndReturn( six.BytesIO(self.template_a)) self.m.ReplayAll() self.assertEqual( env_url, template_utils.normalise_file_path_to_url(env_file)) self.assertEqual( 'file:///home/my/dir', template_utils.base_url_for_url(env_url)) files, env_dict = template_utils.process_environment_and_files( env_file) self.assertEqual( {'resource_registry': { 'OS::Thingy': 'file:///home/my/dir/a.yaml'}}, env_dict) self.assertEqual(self.template_a.decode('utf-8'), files['file:///home/my/dir/a.yaml'])
def test_process_environment_relative_file(self): self.m.StubOutWithMock(request, 'urlopen') env_file = '/home/my/dir/env.yaml' env_url = 'file:///home/my/dir/env.yaml' env = b''' resource_registry: "OS::Thingy": a.yaml ''' request.urlopen(env_url).AndReturn( six.BytesIO(env)) request.urlopen('file:///home/my/dir/a.yaml').AndReturn( six.BytesIO(self.template_a)) self.m.ReplayAll() self.assertEqual( env_url, template_utils.normalise_file_path_to_url(env_file)) self.assertEqual( 'file:///home/my/dir', template_utils.base_url_for_url(env_url)) files, env_dict = template_utils.process_environment_and_files( env_file) self.assertEqual( {'resource_registry': { 'OS::Thingy': 'file:///home/my/dir/a.yaml'}}, env_dict) self.assertEqual(self.template_a.decode('utf-8'), files['file:///home/my/dir/a.yaml'])
def test_base_url_for_url(self): self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/baz')) self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/baz.txt')) self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/')) self.assertEqual( 'file:///', template_utils.base_url_for_url( 'file:///')) self.assertEqual( 'file:///', template_utils.base_url_for_url( 'file:///foo')) self.assertEqual( 'http://foo/bar', template_utils.base_url_for_url( 'http://foo/bar/')) self.assertEqual( 'http://foo/bar', template_utils.base_url_for_url( 'http://foo/bar/baz.template'))
def test_base_url_for_url(self): self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/baz')) self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/baz.txt')) self.assertEqual( 'file:///foo/bar', template_utils.base_url_for_url( 'file:///foo/bar/')) self.assertEqual( 'file:///', template_utils.base_url_for_url( 'file:///')) self.assertEqual( 'file:///', template_utils.base_url_for_url( 'file:///foo')) self.assertEqual( 'http://foo/bar', template_utils.base_url_for_url( 'http://foo/bar/')) self.assertEqual( 'http://foo/bar', template_utils.base_url_for_url( 'http://foo/bar/baz.template'))