def test_without_userdata_clean(self): """ this tests that handle user data returns the expected output when there is no init script specified in agent config """ ctx = self.mock_ctx('test_run_instances_with_user_data_clean') current_ctx.set(ctx=ctx) handle_userdata_output = \ instance._handle_userdata(ctx.node.properties['parameters']) self.assertNotIn('user_data', handle_userdata_output)
def test_with_existing_userdata_clean(self): """ this tests that handle user data returns the expected output when existing """ ctx = self.mock_ctx('test_with_existing_userdata_clean') ctx.agent.init_script = lambda: 'EXISTING' current_ctx.set(ctx=ctx) handle_userdata_output = \ instance._handle_userdata(ctx.node.properties['parameters']) expected_userdata = 'EXISTING' self.assertIn( expected_userdata, handle_userdata_output.get('user_data'))
def test_with_existing_userdata_clean(self): """ this tests that handle user data returns the expected output when existing """ ctx = self.mock_ctx('test_with_existing_userdata_clean') ctx.agent.init_script = lambda: 'EXISTING' current_ctx.set(ctx=ctx) handle_userdata_output = \ instance._handle_userdata(ctx.node.properties['parameters']) expected_userdata = 'EXISTING' self.assertIn(expected_userdata, handle_userdata_output.get('user_data'))
def test_with_both_userdata_clean(self): """ this tests that handle user data returns the expected output when merging """ ctx = self.mock_ctx('test_with_existing_userdata_clean') ctx.agent.init_script = lambda: '#! SCRIPT' ctx.node.properties['agent_config']['install_method'] = 'init_script' ctx.node.properties['parameters']['user_data'] = '#! EXISTING' current_ctx.set(ctx=ctx) handle_userdata_output = \ instance._handle_userdata(ctx.node.properties['parameters']) self.assertTrue(handle_userdata_output['user_data'].startswith( 'Content-Type: multi'))
def test_with_userdata_clean(self): """ this tests that handle user data returns the expected output """ ctx = self.mock_ctx('test_with_userdata_clean') ctx.agent.init_script = lambda: 'SCRIPT' ctx.node.properties['agent_config']['install_method'] = 'init_script' current_ctx.set(ctx=ctx) handle_userdata_output = \ instance._handle_userdata(ctx.node.properties['parameters']) expected_userdata = 'SCRIPT' self.assertIn(expected_userdata, handle_userdata_output.get('user_data'))