Skip to content

Commit bed5250

Browse files
committed
Consinstent BaseColumnMock naming
1 parent 531722a commit bed5250

File tree

12 files changed

+40
-40
lines changed

12 files changed

+40
-40
lines changed

docsource/faq.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ You might want to create a settings class as well in case you need some specific
1717

1818
### Create your `ColumnMocks`
1919

20-
Your database system might support specific database types. In order to make them available as column types, you can use the `sql_mock.column_mocks.ColumnMock` class as a base and inherit your specific column types from it.
20+
Your database system might support specific database types. In order to make them available as column types, you can use the `sql_mock.column_mocks.BaseColumnMock` class as a base and inherit your specific column types from it.
2121
For most of your column mocks you might only need to specify the `dtype` that should be used to parse the inputs.
2222

23-
A good practise is to create a `ColumnMock` class that is specific to your database and inherit all your column types from it, e.g.:
23+
A good practise is to create a `BaseColumnMock` class that is specific to your database and inherit all your column types from it, e.g.:
2424

2525
```python
26-
from sql_mock.column_mocks import ColumnMock
26+
from sql_mock.column_mocks import BaseColumnMock
2727

28-
class MyFanceDatabaseColumnMock(ColumnMock):
28+
class MyFanceDatabaseColumnMock(BaseColumnMock):
2929
# In case you need some specific logic that overwrites the default behavior, you can do so here
3030
pass
3131

@@ -41,11 +41,11 @@ class String(MyFanceDatabaseColumnMock):
4141
There will definitely be folks in the community that are in the need of support for the database you just created all the setup for.
4242
Feel free to create a PR on this repository that we can start supporting your database system!
4343

44-
## I am missing a specific ColumnMock type for my model fields
44+
## I am missing a specific BaseColumnMock type for my model fields
4545

4646
We implemented some basic column types but it could happen that you don't find the one you need.
4747
Luckily, you can easily create those with the tools provided.
48-
The only thing you need to do is to inherit from the `ColumnMock` that is specific to your database system (e.g. `BigQueryColumnMock`) and write classes for the column mocks you are missing. Usually you only need to set the correct `dtype`. This would later be used in the `cast(col to <dtype>)` expression.
48+
The only thing you need to do is to inherit from the `BaseColumnMock` that is specific to your database system (e.g. `BigQueryColumnMock`) and write classes for the column mocks you are missing. Usually you only need to set the correct `dtype`. This would later be used in the `cast(col to <dtype>)` expression.
4949

5050
```python
5151
# Replace the import with the database system you are using

src/sql_mock/bigquery/column_mocks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from sql_mock.column_mocks import ColumnMock
1+
from sql_mock.column_mocks import BaseColumnMock
22

33

4-
class BigQueryColumnMock(ColumnMock):
4+
class BigQueryColumnMock(BaseColumnMock):
55
pass
66

77

src/sql_mock/clickhouse/column_mocks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from sql_mock.column_mocks import ColumnMock
1+
from sql_mock.column_mocks import BaseColumnMock
22

33

4-
class ClickhouseColumnMock(ColumnMock):
4+
class ClickhouseColumnMock(BaseColumnMock):
55
def __init__(self, default, nullable=False) -> None:
66
super().__init__(default, nullable)
77
if nullable:

src/sql_mock/column_mocks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from sql_mock.constants import NO_INPUT, NoInput
33

44

5-
class ColumnMock:
5+
class BaseColumnMock:
66
"""
77
Represents a mock column in a database table.
88
@@ -20,7 +20,7 @@ class ColumnMock:
2020

2121
def __init__(self, default=None, nullable=False) -> None:
2222
"""
23-
Initialize a ColumnMock instance.
23+
Initialize a BaseColumnMock instance.
2424
2525
Args:
2626
default: The default value for the column.

src/sql_mock/redshift/column_mocks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from sql_mock.column_mocks import ColumnMock
1+
from sql_mock.column_mocks import BaseColumnMock
22

33

4-
class RedshiftColumnMock(ColumnMock):
4+
class RedshiftColumnMock(BaseColumnMock):
55
pass
66

77

src/sql_mock/snowflake/column_mocks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from sql_mock.column_mocks import ColumnMock
1+
from sql_mock.column_mocks import BaseColumnMock
22

33

4-
class SnowflakeColumnMock(ColumnMock):
4+
class SnowflakeColumnMock(BaseColumnMock):
55
pass
66

77

src/sql_mock/table_mocks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from jinja2 import Template
66
from pydantic import BaseModel, ConfigDict, SkipValidation
77

8-
from sql_mock.column_mocks import ColumnMock
8+
from sql_mock.column_mocks import BaseColumnMock
99
from sql_mock.constants import NO_INPUT
1010
from sql_mock.helpers import (
1111
get_keys_from_list_of_dicts,
@@ -57,7 +57,7 @@ class SQLMockData(BaseModel):
5757

5858
model_config = ConfigDict(arbitrary_types_allowed=True)
5959

60-
columns: dict[str, Type[ColumnMock]] = None
60+
columns: dict[str, Type[BaseColumnMock]] = None
6161
data: list[dict] = None
6262
input_data: list[dict] = None
6363
rendered_query: str = None
@@ -95,7 +95,7 @@ def __init__(self, data: list[dict] = None, sql_mock_data: SQLMockData = None) -
9595
self._sql_mock_data = SQLMockData()
9696

9797
self._sql_mock_data.columns = {
98-
field: getattr(self, field) for field in dir(self) if isinstance(getattr(self, field), ColumnMock)
98+
field: getattr(self, field) for field in dir(self) if isinstance(getattr(self, field), BaseColumnMock)
9999
}
100100

101101
if data is not None:

tests/sql_mock/test_column_mocks.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
import pytest
22

3-
from sql_mock.column_mocks import ColumnMock
3+
from sql_mock.column_mocks import BaseColumnMock
44

55

66
def test_init_no_default_not_nullable():
77
"""
88
...then it should raise an error.
99
"""
1010
with pytest.raises(ValueError, match="Default cannot be None if column is not nullable"):
11-
ColumnMock(default=None, nullable=False)
11+
BaseColumnMock(default=None, nullable=False)
1212

1313

1414
def test_init_default_not_nullable():
1515
"""
1616
...then it should set the default value and nullable should be False.
1717
"""
18-
column = ColumnMock(default=42)
18+
column = BaseColumnMock(default=42)
1919
assert column.default == 42
2020
assert not column.nullable
2121

@@ -24,7 +24,7 @@ def test_init_default_nullable():
2424
"""
2525
...then it should set the default value and nullable should be True.
2626
"""
27-
column = ColumnMock(default="Hello", nullable=True)
27+
column = BaseColumnMock(default="Hello", nullable=True)
2828
assert column.default == "Hello"
2929
assert column.nullable
3030

@@ -33,7 +33,7 @@ def test_to_sql_with_value():
3333
"""
3434
...then it should return the SQL cast expression using the provided value.
3535
"""
36-
column = ColumnMock(default=3.14)
36+
column = BaseColumnMock(default=3.14)
3737
sql = column.to_sql("price", value=42)
3838
assert sql == "cast('42' AS None) AS price"
3939

@@ -43,7 +43,7 @@ def test_to_sql_without_value():
4343
...then it should return the SQL cast expression using the default value.
4444
"""
4545

46-
class ColumnTestMock(ColumnMock):
46+
class ColumnTestMock(BaseColumnMock):
4747
dtype = "String"
4848

4949
column = ColumnTestMock(default="OpenAI")
@@ -56,7 +56,7 @@ def test_to_sql_with_none_for_nullable_column():
5656
...then it should return the SQL cast expression using the default value.
5757
"""
5858

59-
class ColumnTestMock(ColumnMock):
59+
class ColumnTestMock(BaseColumnMock):
6060
dtype = "String"
6161

6262
column = ColumnTestMock(default="OpenAI", nullable=True)
@@ -69,7 +69,7 @@ def test_to_sql_without_value_and_no_default():
6969
...then it should return the SQL cast expression using the default value.
7070
"""
7171

72-
class ColumnTestMock(ColumnMock):
72+
class ColumnTestMock(BaseColumnMock):
7373
dtype = "String"
7474

7575
column = ColumnTestMock(default=None, nullable=True)
@@ -82,7 +82,7 @@ def test_to_sql_not_use_quotes_for_casting():
8282
...then it should not quote the value in the cast expression.
8383
"""
8484

85-
class ColumnTestMock(ColumnMock):
85+
class ColumnTestMock(BaseColumnMock):
8686
dtype = "Integer"
8787
use_quotes_for_casting = False
8888

tests/sql_mock/test_helpers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import pytest
33
import sqlglot
44

5-
from sql_mock.column_mocks import ColumnMock
5+
from sql_mock.column_mocks import BaseColumnMock
66
from sql_mock.exceptions import ValidationError
77
from sql_mock.helpers import (
88
_validate_input_mocks_have_table_ref,
@@ -26,11 +26,11 @@ def _get_results(self):
2626
return []
2727

2828

29-
class IntTestColumn(ColumnMock):
29+
class IntTestColumn(BaseColumnMock):
3030
dtype = "Integer"
3131

3232

33-
class StringTestColumn(ColumnMock):
33+
class StringTestColumn(BaseColumnMock):
3434
dtype = "String"
3535

3636

tests/sql_mock/test_table_mocks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import pytest
22

3-
from sql_mock.column_mocks import ColumnMock
3+
from sql_mock.column_mocks import BaseColumnMock
44
from sql_mock.table_mocks import BaseTableMock, TableMockMeta, table_meta
55

66

7-
class IntTestColumn(ColumnMock):
7+
class IntTestColumn(BaseColumnMock):
88
dtype = "Integer"
99

1010

11-
class StringTestColumn(ColumnMock):
11+
class StringTestColumn(BaseColumnMock):
1212
dtype = "String"
1313

1414

0 commit comments

Comments
 (0)