def test_should_inform_if_the_datasource_has_not_changed(self): read_mock = MagicMock( return_value={ 'success': True, 'result': { 'connection-url': 'jdbc:/same-connection-url' } }) create_mock = MagicMock() remove_mock = MagicMock() update_mock = MagicMock(return_value={'success': True}) with patch.dict( jboss7.__salt__, { 'jboss7.read_datasource': read_mock, 'jboss7.create_datasource': create_mock, 'jboss7.remove_datasource': remove_mock, 'jboss7.update_datasource': update_mock }): result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={ 'connection-url': 'jdbc:/old-connection-url' }) update_mock.assert_called_with( name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/old-connection-url'}, profile=None) self.assertFalse(create_mock.called) self.assertEqual(result['comment'], 'Datasource not changed.')
def test_should_create_new_datasource_if_not_exists(self): # given datasource_properties = {'connection-url': 'jdbc:/old-connection-url'} ds_status = {'created': False} def read_func(jboss_config, name): if ds_status['created']: return {'success': True, 'result': datasource_properties} else: return {'success': False, 'err_code': 'JBAS014807'} def create_func(jboss_config, name, datasource_properties): ds_status['created'] = True return {'success': True} __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func) __salt__['jboss7.create_datasource'] = MagicMock(side_effect=create_func) # when result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties=datasource_properties) # then __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties=datasource_properties) self.assertFalse(__salt__['jboss7.update_datasource'].called) self.assertEqual(result['comment'], 'Datasource created.')
def test_should_create_new_datasource_if_not_exists(self): # given datasource_properties = {'connection-url': 'jdbc:/old-connection-url'} ds_status = {'created': False} def read_func(jboss_config, name, profile): if ds_status['created']: return {'success': True, 'result': datasource_properties} else: return {'success': False, 'err_code': 'JBAS014807'} def create_func(jboss_config, name, datasource_properties, profile): ds_status['created'] = True return {'success': True} __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func) __salt__['jboss7.create_datasource'] = MagicMock(side_effect=create_func) # when result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties=datasource_properties, profile=None) # then __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties=datasource_properties, profile=None) self.assertFalse(__salt__['jboss7.update_datasource'].called) self.assertEqual(result['comment'], 'Datasource created.')
def test_should_recreate_the_datasource_if_specified(self): __salt__['jboss7.remove_datasource'].return_value = {'success': True} __salt__['jboss7.read_datasource'].return_value = { 'success': True, 'result': { 'connection-url': 'jdbc:/same-connection-url' } } __salt__['jboss7.create_datasource'].return_value = {'success': True} result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={ 'connection-url': 'jdbc:/same-connection-url' }, recreate=True) __salt__['jboss7.remove_datasource'].assert_called_with( name='appDS', jboss_config={}, profile=None) __salt__['jboss7.create_datasource'].assert_called_with( name='appDS', jboss_config={}, datasource_properties={ 'connection-url': 'jdbc:/same-connection-url' }, profile=None) self.assertEqual(result['changes']['removed'], 'appDS') self.assertEqual(result['changes']['created'], 'appDS')
def test_datasource_exist_create_datasource_good_code(self): jboss_config = {'cli_path': '/home/ch44d/Desktop/wildfly-18.0.0.Final/bin/jboss-cli.sh', 'controller': '127.0.0.1: 9990', 'cli_user': '******', 'cli_password': '******'} datasource_properties = {'driver - name': 'h2', 'connection - url': 'jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test_s2', 'jndi - name': 'java:/home/ch44d/Desktop/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar', 'user - name': 'user', 'password': '******', 'use - java - context': True} read_datasource = MagicMock(return_value={'success': False, 'err_code': 'WFLYCTL0216'}) error_msg = 'Error: -1' create_datasource = MagicMock(return_value={'success': False, 'stdout': error_msg}) with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_datasource, 'jboss7.create_datasource': create_datasource}): ret = jboss7.datasource_exists("SQL", jboss_config, datasource_properties) self.assertTrue('result' in ret) self.assertFalse(ret['result']) self.assertTrue('comment' in ret) self.assertTrue(error_msg in ret['comment']) read_datasource.assert_called_once() create_datasource.assert_called_once()
def test_should_update_the_datasource_if_exists(self): ds_status = {'updated': False} def read_func(jboss_config, name, profile): if ds_status['updated']: return {'success': True, 'result': {'connection-url': 'jdbc:/new-connection-url'}} else: return {'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'}} def update_func(jboss_config, name, new_properties, profile): ds_status['updated'] = True return {'success': True} read_mock = MagicMock(side_effect=read_func) create_mock = MagicMock() update_mock = MagicMock(side_effect=update_func) with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_mock, 'jboss7.create_datasource': create_mock, 'jboss7.update_datasource': update_mock}): result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/new-connection-url'}, profile=None) update_mock.assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/new-connection-url'}, profile=None) self.assertTrue(read_mock.called) self.assertEqual(result['comment'], 'Datasource updated.')
def test_datasource_exist_create_datasource_good_code(self): jboss_config = { "cli_path": "/home/ch44d/Desktop/wildfly-18.0.0.Final/bin/jboss-cli.sh", "controller": "127.0.0.1: 9990", "cli_user": "******", "cli_password": "******", } datasource_properties = { "driver - name": "h2", "connection - url": "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test_s2", "jndi - name": ("java:/home/ch44d/Desktop/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar" ), "user - name": "user", "password": "******", "use - java - context": True, } read_datasource = MagicMock(return_value={ "success": False, "err_code": "WFLYCTL0216" }) error_msg = "Error: -1" create_datasource = MagicMock(return_value={ "success": False, "stdout": error_msg }) with patch.dict( jboss7.__salt__, { "jboss7.read_datasource": read_datasource, "jboss7.create_datasource": create_datasource, }, ): ret = jboss7.datasource_exists("SQL", jboss_config, datasource_properties) self.assertTrue("result" in ret) self.assertFalse(ret["result"]) self.assertTrue("comment" in ret) self.assertTrue(error_msg in ret["comment"]) read_datasource.assert_called_once() create_datasource.assert_called_once()
def test_should_update_the_datasource_if_exists(self): ds_status = {"updated": False} def read_func(jboss_config, name, profile): if ds_status["updated"]: return { "success": True, "result": { "connection-url": "jdbc:/new-connection-url" }, } else: return { "success": True, "result": { "connection-url": "jdbc:/old-connection-url" }, } def update_func(jboss_config, name, new_properties, profile): ds_status["updated"] = True return {"success": True} read_mock = MagicMock(side_effect=read_func) create_mock = MagicMock() update_mock = MagicMock(side_effect=update_func) with patch.dict( jboss7.__salt__, { "jboss7.read_datasource": read_mock, "jboss7.create_datasource": create_mock, "jboss7.update_datasource": update_mock, }, ): result = jboss7.datasource_exists( name="appDS", jboss_config={}, datasource_properties={ "connection-url": "jdbc:/new-connection-url" }, profile=None, ) update_mock.assert_called_with( name="appDS", jboss_config={}, new_properties={"connection-url": "jdbc:/new-connection-url"}, profile=None, ) self.assertTrue(read_mock.called) self.assertEqual(result["comment"], "Datasource updated.")
def test_should_inform_if_the_datasource_has_not_changed(self): __salt__['jboss7.read_datasource'].return_value = { 'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'} } __salt__['jboss7.update_datasource'].return_value = { 'success': True } result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/old-connection-url'}) __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/old-connection-url'}, profile=None) self.assertFalse(__salt__['jboss7.create_datasource'].called) self.assertEqual(result['comment'], 'Datasource not changed.')
def test_should_inform_if_the_datasource_has_not_changed(self): __salt__['jboss7.read_datasource'].return_value = { 'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'} } __salt__['jboss7.update_datasource'].return_value = { 'success': True } result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/old-connection-url'}) __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/old-connection-url'}) self.assertFalse(__salt__['jboss7.create_datasource'].called) self.assertEqual(result['comment'], 'Datasource not changed.')
def test_should_create_new_datasource_if_not_exists(self): # given datasource_properties = {"connection-url": "jdbc:/old-connection-url"} ds_status = {"created": False} def read_func(jboss_config, name, profile): if ds_status["created"]: return {"success": True, "result": datasource_properties} else: return {"success": False, "err_code": "JBAS014807"} def create_func(jboss_config, name, datasource_properties, profile): ds_status["created"] = True return {"success": True} read_mock = MagicMock(side_effect=read_func) create_mock = MagicMock(side_effect=create_func) update_mock = MagicMock() with patch.dict( jboss7.__salt__, { "jboss7.read_datasource": read_mock, "jboss7.create_datasource": create_mock, "jboss7.update_datasource": update_mock, }, ): # when result = jboss7.datasource_exists( name="appDS", jboss_config={}, datasource_properties=datasource_properties, profile=None, ) # then create_mock.assert_called_with( name="appDS", jboss_config={}, datasource_properties=datasource_properties, profile=None, ) self.assertFalse(update_mock.called) self.assertEqual(result["comment"], "Datasource created.")
def test_should_recreate_the_datasource_if_specified(self): __salt__['jboss7.remove_datasource'].return_value = { 'success': True } __salt__['jboss7.read_datasource'].return_value = { 'success': True, 'result': {'connection-url': 'jdbc:/same-connection-url'} } __salt__['jboss7.create_datasource'].return_value = { 'success': True } result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'}, recreate=True) __salt__['jboss7.remove_datasource'].assert_called_with(name='appDS', jboss_config={}) __salt__['jboss7.create_datasource'].assert_called_with(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'}) self.assertEqual(result['changes']['removed'], 'appDS') self.assertEqual(result['changes']['created'], 'appDS')
def test_should_recreate_the_datasource_if_specified(self): read_mock = MagicMock( return_value={ "success": True, "result": { "connection-url": "jdbc:/same-connection-url" }, }) create_mock = MagicMock(return_value={"success": True}) remove_mock = MagicMock(return_value={"success": True}) update_mock = MagicMock() with patch.dict( jboss7.__salt__, { "jboss7.read_datasource": read_mock, "jboss7.create_datasource": create_mock, "jboss7.remove_datasource": remove_mock, "jboss7.update_datasource": update_mock, }, ): result = jboss7.datasource_exists( name="appDS", jboss_config={}, datasource_properties={ "connection-url": "jdbc:/same-connection-url" }, recreate=True, ) remove_mock.assert_called_with(name="appDS", jboss_config={}, profile=None) create_mock.assert_called_with( name="appDS", jboss_config={}, datasource_properties={ "connection-url": "jdbc:/same-connection-url" }, profile=None, ) self.assertEqual(result["changes"]["removed"], "appDS") self.assertEqual(result["changes"]["created"], "appDS")
def test_should_recreate_the_datasource_if_specified(self): read_mock = MagicMock(return_value={'success': True, 'result': {'connection-url': 'jdbc:/same-connection-url'}}) create_mock = MagicMock(return_value={'success': True}) remove_mock = MagicMock(return_value={'success': True}) update_mock = MagicMock() with patch.dict(jboss7.__salt__, {'jboss7.read_datasource': read_mock, 'jboss7.create_datasource': create_mock, 'jboss7.remove_datasource': remove_mock, 'jboss7.update_datasource': update_mock}): result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'}, recreate=True) remove_mock.assert_called_with(name='appDS', jboss_config={}, profile=None) create_mock.assert_called_with(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/same-connection-url'}, profile=None) self.assertEqual(result['changes']['removed'], 'appDS') self.assertEqual(result['changes']['created'], 'appDS')
def test_should_update_the_datasource_if_exists(self): ds_status = {'updated': False} def read_func(jboss_config, name): if ds_status['updated']: return {'success': True, 'result': {'connection-url': 'jdbc:/new-connection-url'}} else: return {'success': True, 'result': {'connection-url': 'jdbc:/old-connection-url'}} def update_func(jboss_config, name, new_properties): ds_status['updated'] = True return {'success': True} __salt__['jboss7.read_datasource'] = MagicMock(side_effect=read_func) __salt__['jboss7.update_datasource'] = MagicMock(side_effect=update_func) result = jboss7.datasource_exists(name='appDS', jboss_config={}, datasource_properties={'connection-url': 'jdbc:/new-connection-url'}) __salt__['jboss7.update_datasource'].assert_called_with(name='appDS', jboss_config={}, new_properties={'connection-url': 'jdbc:/new-connection-url'}) self.assertFalse(__salt__['jboss7.create_datasource'].called) self.assertEqual(result['comment'], 'Datasource updated.')
def test_should_inform_if_the_datasource_has_not_changed(self): read_mock = MagicMock( return_value={ "success": True, "result": { "connection-url": "jdbc:/same-connection-url" }, }) create_mock = MagicMock() remove_mock = MagicMock() update_mock = MagicMock(return_value={"success": True}) with patch.dict( jboss7.__salt__, { "jboss7.read_datasource": read_mock, "jboss7.create_datasource": create_mock, "jboss7.remove_datasource": remove_mock, "jboss7.update_datasource": update_mock, }, ): result = jboss7.datasource_exists( name="appDS", jboss_config={}, datasource_properties={ "connection-url": "jdbc:/old-connection-url" }, ) update_mock.assert_called_with( name="appDS", jboss_config={}, new_properties={"connection-url": "jdbc:/old-connection-url"}, profile=None, ) self.assertFalse(create_mock.called) self.assertEqual(result["comment"], "Datasource not changed.")