~dpb/cloud-init/fix-landscape-init-example

« back to all changes in this revision

Viewing changes to tests/unittests/test_datasource/test_nocloud.py

  • Committer: Scott Moser
  • Date: 2014-01-29 19:32:51 UTC
  • mfrom: (933.2.6 trunk.dsvdata)
  • Revision ID: smoser@ubuntu.com-20140129193251-9lmtvaeedj5jmdl1
DataSourceNoCloud: support reading vendor-data 

Here we add the ability to read vendor-data from a file named
vendor-data at the same location as the user-data and meta-data files.

At the moment, vendor-data is not read at all from 'seedfrom'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
97
97
        self.assertEqual(dsrc.metadata.get('instance-id'), 'IID')
98
98
        self.assertTrue(ret)
99
99
 
 
100
    def test_nocloud_seed_with_vendordata(self):
 
101
        md = {'instance-id': 'IID', 'dsmode': 'local'}
 
102
        ud = "USER_DATA_HERE"
 
103
        vd = "THIS IS MY VENDOR_DATA"
 
104
 
 
105
        populate_dir(os.path.join(self.paths.seed_dir, "nocloud"),
 
106
                     {'user-data': ud, 'meta-data': yaml.safe_dump(md),
 
107
                      'vendor-data': vd})
 
108
 
 
109
        sys_cfg = {
 
110
            'datasource': {'NoCloud': {'fs_label': None}}
 
111
        }
 
112
 
 
113
        ds = DataSourceNoCloud.DataSourceNoCloud
 
114
 
 
115
        dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)
 
116
        ret = dsrc.get_data()
 
117
        self.assertEqual(dsrc.userdata_raw, ud)
 
118
        self.assertEqual(dsrc.metadata, md)
 
119
        self.assertEqual(dsrc.vendordata, vd)
 
120
        self.assertTrue(ret)
 
121
 
 
122
    def test_nocloud_no_vendordata(self):
 
123
        populate_dir(os.path.join(self.paths.seed_dir, "nocloud"),
 
124
                     {'user-data': "ud", 'meta-data': "instance-id: IID\n"})
 
125
 
 
126
        sys_cfg = {'datasource': {'NoCloud': {'fs_label': None}}}
 
127
 
 
128
        ds = DataSourceNoCloud.DataSourceNoCloud
 
129
 
 
130
        dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)
 
131
        ret = dsrc.get_data()
 
132
        self.assertEqual(dsrc.userdata_raw, "ud")
 
133
        self.assertFalse(dsrc.vendordata)
 
134
        self.assertTrue(ret)
100
135
 
101
136
class TestParseCommandLineData(MockerTestCase):
102
137