migrate test_oracle to pytest

This commit is contained in:
Frode Gundersen 2022-12-07 18:57:05 +00:00
parent c2598f3d56
commit 5be0078c65
No known key found for this signature in database
GPG key ID: DAB4C1C375D2EF45
2 changed files with 80 additions and 76 deletions

View file

@ -0,0 +1,80 @@
"""
:codeauthor: Rahul Handay <rahulha@saltstack.com>
Test cases for salt.modules.oracle
"""
import os
import pytest
import salt.modules.oracle as oracle
from tests.support.mock import MagicMock, patch
@pytest.fixture
def configure_loader_modules():
return {oracle: {"cx_Oracle": object()}}
def test_run_query():
"""
Test for Run SQL query and return result
"""
with patch.object(oracle, "_connect", MagicMock()) as mock_connect:
mock_connect.cursor.execute.fetchall.return_value = True
with patch.object(oracle, "show_dbs", MagicMock()):
assert oracle.run_query("db", "query")
def test_show_dbs():
"""
Test for Show databases configuration from pillar. Filter by `*args`
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
assert oracle.show_dbs("A", "B") == {"A": "a", "B": "a"}
assert oracle.show_dbs() == "a"
def test_version():
"""
Test for Server Version (select banner from v$version)
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
with patch.object(oracle, "run_query", return_value="A"):
assert oracle.version() == {}
def test_client_version():
"""
Test for Oracle Client Version
"""
with patch.object(oracle, "cx_Oracle", MagicMock(side_effect=MagicMock())):
assert oracle.client_version() == ""
def test_show_pillar():
"""
Test for Show Pillar segment oracle.*
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
assert oracle.show_pillar("item") == "a"
def test_show_env():
"""
Test for Show Environment used by Oracle Client
"""
with patch.object(
os,
"environ",
return_value={
"PATH": "PATH",
"ORACLE_HOME": "ORACLE_HOME",
"TNS_ADMIN": "TNS_ADMIN",
"NLS_LANG": "NLS_LANG",
},
):
assert oracle.show_env() == {}

View file

@ -1,76 +0,0 @@
"""
:codeauthor: Rahul Handay <rahulha@saltstack.com>
"""
import os
import salt.modules.oracle as oracle
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.mock import MagicMock, patch
from tests.support.unit import TestCase
class OracleTestCase(TestCase, LoaderModuleMockMixin):
"""
Test cases for salt.modules.oracle
"""
def setup_loader_modules(self):
return {oracle: {"cx_Oracle": object()}}
def test_run_query(self):
"""
Test for Run SQL query and return result
"""
with patch.object(oracle, "_connect", MagicMock()) as mock_connect:
mock_connect.cursor.execute.fetchall.return_value = True
with patch.object(oracle, "show_dbs", MagicMock()):
self.assertTrue(oracle.run_query("db", "query"))
def test_show_dbs(self):
"""
Test for Show databases configuration from pillar. Filter by `*args`
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
self.assertDictEqual(oracle.show_dbs("A", "B"), {"A": "a", "B": "a"})
self.assertEqual(oracle.show_dbs(), "a")
def test_version(self):
"""
Test for Server Version (select banner from v$version)
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
with patch.object(oracle, "run_query", return_value="A"):
self.assertDictEqual(oracle.version(), {})
def test_client_version(self):
"""
Test for Oracle Client Version
"""
with patch.object(oracle, "cx_Oracle", MagicMock(side_effect=MagicMock())):
self.assertEqual(oracle.client_version(), "")
def test_show_pillar(self):
"""
Test for Show Pillar segment oracle.*
"""
with patch.dict(oracle.__salt__, {"pillar.get": MagicMock(return_value="a")}):
self.assertEqual(oracle.show_pillar("item"), "a")
def test_show_env(self):
"""
Test for Show Environment used by Oracle Client
"""
with patch.object(
os,
"environ",
return_value={
"PATH": "PATH",
"ORACLE_HOME": "ORACLE_HOME",
"TNS_ADMIN": "TNS_ADMIN",
"NLS_LANG": "NLS_LANG",
},
):
self.assertDictEqual(oracle.show_env(), {})