validio-sdk 7.3.1__tar.gz → 7.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/PKG-INFO +1 -1
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/pyproject.toml +1 -1
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/_api/api.py +2 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_serde.py +2 -2
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_server_resources.py +2 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/credentials.py +10 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test__diff.py +48 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/validators.py +1 -1
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/LICENSE +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/README_PUBLIC.md +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/_api/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/client/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/client/client.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/_import.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/_progress.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/apply.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/plan.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/scaffold.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/code/settings.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/config.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/dbt.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/exception.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/metadata.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/py.typed +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_diff.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_diff_util.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_diffable.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_errors.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_resource.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_resource_graph.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_update_namespace.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/_util.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/channels.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/enums.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/filters.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/notification_rules.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/replacement.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/segmentations.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/sources.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tags.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/__init__.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/assets/example_manifest.json +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/assets/expected_trimmed_manifest.json +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test__dbt.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test__plan.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test__resource.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test__sql_validation.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/test_import.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/thresholds.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/windows.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/scalars.py +0 -0
- {validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/util.py +0 -0
|
@@ -3,7 +3,7 @@ name = "validio-sdk"
|
|
|
3
3
|
# This version does not represent the released version or any tag. For each
|
|
4
4
|
# release we automatically bump this before building and publishing so this
|
|
5
5
|
# should be kept at 0.0.1dev1
|
|
6
|
-
version = "7.
|
|
6
|
+
version = "7.4.0"
|
|
7
7
|
description = "SDK to interact with the Validio platform"
|
|
8
8
|
authors = ["Validio <support@validio.io>"]
|
|
9
9
|
license = "Apache-2.0"
|
|
@@ -389,9 +389,9 @@ def _import_value_repr(
|
|
|
389
389
|
# single long line.
|
|
390
390
|
if "\n" not in value:
|
|
391
391
|
value_repr = repr(value)
|
|
392
|
-
elif "'''"
|
|
392
|
+
elif not any(["'''" in value, value.startswith("'"), value.endswith("'")]):
|
|
393
393
|
value_repr = f"'''{value}'''"
|
|
394
|
-
elif '"""'
|
|
394
|
+
elif not any(['"""' in value, value.startswith('"'), value.endswith('"')]):
|
|
395
395
|
value_repr = f'"""{value}"""'
|
|
396
396
|
else:
|
|
397
397
|
value_repr = repr(value)
|
|
@@ -427,6 +427,8 @@ async def load_credentials(
|
|
|
427
427
|
port=c["config"]["port"],
|
|
428
428
|
database=c["config"]["database"],
|
|
429
429
|
auth=oracle_auth,
|
|
430
|
+
tls_enabled=c["config"]["tlsEnabled"],
|
|
431
|
+
tls_ca_certificates=c["config"]["tlsCaCertificates"],
|
|
430
432
|
display_name=display_name,
|
|
431
433
|
enable_catalog=c["enableCatalog"],
|
|
432
434
|
__internal__=g,
|
|
@@ -1692,6 +1692,8 @@ class OracleCredential(Credential):
|
|
|
1692
1692
|
port: int,
|
|
1693
1693
|
database: str,
|
|
1694
1694
|
auth: OracleCredentialAuth,
|
|
1695
|
+
tls_enabled: bool | None = None,
|
|
1696
|
+
tls_ca_certificates: str | None = None,
|
|
1695
1697
|
enable_catalog: bool = False,
|
|
1696
1698
|
display_name: str | None = None,
|
|
1697
1699
|
ignore_changes: bool = False,
|
|
@@ -1705,6 +1707,10 @@ class OracleCredential(Credential):
|
|
|
1705
1707
|
:param port: Port number of the server.
|
|
1706
1708
|
:param auth: Credentials to use for authentication.
|
|
1707
1709
|
:param database: Name of the database to connect to
|
|
1710
|
+
:param tls_enabled: If set to true, connections will be
|
|
1711
|
+
established using the TLS protocol.
|
|
1712
|
+
:param tls_ca_certificates: PEM certificate bundle used to
|
|
1713
|
+
verify the server TLS certificate.
|
|
1708
1714
|
:param enable_catalog: If set to true, this credential will
|
|
1709
1715
|
be used to fetch catalog information.
|
|
1710
1716
|
:param display_name: Human-readable name for the credential. This name is
|
|
@@ -1722,6 +1728,8 @@ class OracleCredential(Credential):
|
|
|
1722
1728
|
self.port = port
|
|
1723
1729
|
self.database = database
|
|
1724
1730
|
self.auth = auth
|
|
1731
|
+
self.tls_enabled = tls_enabled
|
|
1732
|
+
self.tls_ca_certificates = tls_ca_certificates
|
|
1725
1733
|
self.enable_catalog = enable_catalog
|
|
1726
1734
|
|
|
1727
1735
|
def _immutable_fields(self) -> set[str]:
|
|
@@ -1734,6 +1742,8 @@ class OracleCredential(Credential):
|
|
|
1734
1742
|
"host",
|
|
1735
1743
|
"port",
|
|
1736
1744
|
"database",
|
|
1745
|
+
"tls_enabled",
|
|
1746
|
+
"tls_ca_certificates",
|
|
1737
1747
|
"enable_catalog",
|
|
1738
1748
|
},
|
|
1739
1749
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
+
from validio_sdk.code._import import ImportContext
|
|
3
4
|
from validio_sdk.resource._diff import (
|
|
4
5
|
CascadeReplacementReason,
|
|
5
6
|
DiffContext,
|
|
@@ -11,6 +12,7 @@ from validio_sdk.resource._diff import (
|
|
|
11
12
|
_diff_resource_graph,
|
|
12
13
|
)
|
|
13
14
|
from validio_sdk.resource._resource import ResourceGraph
|
|
15
|
+
from validio_sdk.resource._serde import _import_value_repr
|
|
14
16
|
from validio_sdk.resource.channels import Channel, SlackChannel, WebhookChannel
|
|
15
17
|
from validio_sdk.resource.credentials import AwsCredential, Credential, DemoCredential
|
|
16
18
|
from validio_sdk.resource.filters import (
|
|
@@ -1774,3 +1776,49 @@ def test_enum_filter_values_should_ignore_order() -> None:
|
|
|
1774
1776
|
|
|
1775
1777
|
_add_namespace(namespace, server_ctx)
|
|
1776
1778
|
assert expected == _diff_resource_graph(namespace, manifest_ctx, server_ctx)
|
|
1779
|
+
|
|
1780
|
+
|
|
1781
|
+
@pytest.mark.parametrize(
|
|
1782
|
+
("input", "expected"),
|
|
1783
|
+
[
|
|
1784
|
+
(
|
|
1785
|
+
"this string has no special characters",
|
|
1786
|
+
"'this string has no special characters'",
|
|
1787
|
+
),
|
|
1788
|
+
(
|
|
1789
|
+
"this string contains '",
|
|
1790
|
+
'"this string contains \'"',
|
|
1791
|
+
),
|
|
1792
|
+
(
|
|
1793
|
+
"this\nmultiline\nshould be\ntripple quoted",
|
|
1794
|
+
"'''this\nmultiline\nshould be\ntripple quoted'''",
|
|
1795
|
+
),
|
|
1796
|
+
(
|
|
1797
|
+
"multiline with '''\nshould be\ndouble quotes",
|
|
1798
|
+
'"""multiline with \'\'\'\nshould be\ndouble quotes"""',
|
|
1799
|
+
),
|
|
1800
|
+
(
|
|
1801
|
+
"multiline trailing\nshould be\ndouble quotes'",
|
|
1802
|
+
'"""multiline trailing\nshould be\ndouble quotes\'"""',
|
|
1803
|
+
),
|
|
1804
|
+
(
|
|
1805
|
+
"'multiline leading\nshould be\ndouble quotes",
|
|
1806
|
+
'"""\'multiline leading\nshould be\ndouble quotes"""',
|
|
1807
|
+
),
|
|
1808
|
+
(
|
|
1809
|
+
'multiline with """\nshould be\nsingle quotes',
|
|
1810
|
+
"'''multiline with \"\"\"\nshould be\nsingle quotes'''",
|
|
1811
|
+
),
|
|
1812
|
+
(
|
|
1813
|
+
'multiline trailing\nshould be\nsingle quotes"',
|
|
1814
|
+
"'''multiline trailing\nshould be\nsingle quotes\"'''",
|
|
1815
|
+
),
|
|
1816
|
+
(
|
|
1817
|
+
'"multiline leading\nshould be\nsingle quotes',
|
|
1818
|
+
"'''\"multiline leading\nshould be\nsingle quotes'''",
|
|
1819
|
+
),
|
|
1820
|
+
],
|
|
1821
|
+
)
|
|
1822
|
+
def test_import_value_repr(input: str, expected: str) -> None:
|
|
1823
|
+
got = _import_value_repr(input, 0, ImportContext())
|
|
1824
|
+
assert got == expected
|
|
@@ -416,7 +416,7 @@ class Validator(Resource, ABC):
|
|
|
416
416
|
def _mutable_fields(self) -> set[str]:
|
|
417
417
|
return {
|
|
418
418
|
*super()._mutable_fields(),
|
|
419
|
-
*{"description", "filter_name", "owner", "priority"},
|
|
419
|
+
*{"description", "filter_name", "owner", "priority", "tag_names"},
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
def _ignored_fields(self) -> set[str]:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{validio_sdk-7.3.1 → validio_sdk-7.4.0}/validio_sdk/resource/tests/assets/example_manifest.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|