Skip to content

Commit 85742b2

Browse files
Abel Milashclaude
andcommitted
Complete __all__ coverage in core/config and export tests
- Add __all__ to core/config.py for explicit public API - Re-export OperationContext from core package (matches public usage) - Fill identity-check gaps in test_package_exports: covers all 8 core symbols and all 24 models symbols (was 7 and 15) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 9cdb668 commit 85742b2

3 files changed

Lines changed: 27 additions & 10 deletions

File tree

src/PowerPlatform/Dataverse/core/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
configuration, HTTP client, and error handling.
99
"""
1010

11-
from .config import DataverseConfig
11+
from .config import DataverseConfig, OperationContext
1212
from .errors import DataverseError, HttpError, MetadataError, SQLParseError, ValidationError
1313
from .log_config import LogConfig
1414

@@ -18,6 +18,7 @@
1818
"HttpError",
1919
"LogConfig",
2020
"MetadataError",
21+
"OperationContext",
2122
"SQLParseError",
2223
"ValidationError",
2324
]

src/PowerPlatform/Dataverse/core/config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
if TYPE_CHECKING:
1919
from .log_config import LogConfig
2020

21+
__all__ = ["DataverseConfig", "OperationContext"]
22+
2123
# key=value pairs separated by semicolons.
2224
# Keys: alphanumeric, hyphens, underscores.
2325
# Values: alphanumeric, hyphens, underscores, dots, slashes.

tests/unit/test_package_exports.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def test_all_symbols_importable(self):
2424
def test_identity(self):
2525
"""Re-exported objects are the same objects as their source definitions."""
2626
import PowerPlatform.Dataverse.core as m
27-
from PowerPlatform.Dataverse.core.config import DataverseConfig
27+
from PowerPlatform.Dataverse.core.config import DataverseConfig, OperationContext
2828
from PowerPlatform.Dataverse.core.errors import (
2929
DataverseError,
3030
HttpError,
@@ -37,10 +37,11 @@ def test_identity(self):
3737
self.assertIs(m.DataverseConfig, DataverseConfig)
3838
self.assertIs(m.DataverseError, DataverseError)
3939
self.assertIs(m.HttpError, HttpError)
40+
self.assertIs(m.LogConfig, LogConfig)
4041
self.assertIs(m.MetadataError, MetadataError)
42+
self.assertIs(m.OperationContext, OperationContext)
4143
self.assertIs(m.SQLParseError, SQLParseError)
4244
self.assertIs(m.ValidationError, ValidationError)
43-
self.assertIs(m.LogConfig, LogConfig)
4445

4546

4647
class TestModelsExports(unittest.TestCase):
@@ -61,8 +62,12 @@ def test_identity(self):
6162
"""Re-exported objects are the same objects as their source definitions."""
6263
import PowerPlatform.Dataverse.models as m
6364
from PowerPlatform.Dataverse.models.batch import BatchItemResponse, BatchResult
65+
from PowerPlatform.Dataverse.models.fetchxml_query import FetchXmlQuery
66+
from PowerPlatform.Dataverse.models.filters import ColumnProxy, FilterExpression, col, raw
67+
from PowerPlatform.Dataverse.models.labels import Label, LocalizedLabel
68+
from PowerPlatform.Dataverse.models.protocol import DataverseModel
6469
from PowerPlatform.Dataverse.models.query_builder import ExpandOption, QueryBuilder, QueryParams
65-
from PowerPlatform.Dataverse.models.record import Record
70+
from PowerPlatform.Dataverse.models.record import QueryResult, Record
6671
from PowerPlatform.Dataverse.models.relationship import (
6772
CascadeConfiguration,
6873
LookupAttributeMetadata,
@@ -73,21 +78,30 @@ def test_identity(self):
7378
from PowerPlatform.Dataverse.models.table_info import AlternateKeyInfo, ColumnInfo, TableInfo
7479
from PowerPlatform.Dataverse.models.upsert import UpsertItem
7580

81+
self.assertIs(m.AlternateKeyInfo, AlternateKeyInfo)
7682
self.assertIs(m.BatchItemResponse, BatchItemResponse)
7783
self.assertIs(m.BatchResult, BatchResult)
78-
self.assertIs(m.ExpandOption, ExpandOption)
79-
self.assertIs(m.QueryBuilder, QueryBuilder)
80-
self.assertIs(m.QueryParams, QueryParams)
81-
self.assertIs(m.Record, Record)
8284
self.assertIs(m.CascadeConfiguration, CascadeConfiguration)
85+
self.assertIs(m.ColumnInfo, ColumnInfo)
86+
self.assertIs(m.ColumnProxy, ColumnProxy)
87+
self.assertIs(m.DataverseModel, DataverseModel)
88+
self.assertIs(m.ExpandOption, ExpandOption)
89+
self.assertIs(m.FetchXmlQuery, FetchXmlQuery)
90+
self.assertIs(m.FilterExpression, FilterExpression)
91+
self.assertIs(m.Label, Label)
92+
self.assertIs(m.LocalizedLabel, LocalizedLabel)
8393
self.assertIs(m.LookupAttributeMetadata, LookupAttributeMetadata)
8494
self.assertIs(m.ManyToManyRelationshipMetadata, ManyToManyRelationshipMetadata)
8595
self.assertIs(m.OneToManyRelationshipMetadata, OneToManyRelationshipMetadata)
96+
self.assertIs(m.QueryBuilder, QueryBuilder)
97+
self.assertIs(m.QueryParams, QueryParams)
98+
self.assertIs(m.QueryResult, QueryResult)
99+
self.assertIs(m.Record, Record)
86100
self.assertIs(m.RelationshipInfo, RelationshipInfo)
87-
self.assertIs(m.AlternateKeyInfo, AlternateKeyInfo)
88-
self.assertIs(m.ColumnInfo, ColumnInfo)
89101
self.assertIs(m.TableInfo, TableInfo)
90102
self.assertIs(m.UpsertItem, UpsertItem)
103+
self.assertIs(m.col, col)
104+
self.assertIs(m.raw, raw)
91105

92106

93107
class TestOperationsExports(unittest.TestCase):

0 commit comments

Comments
 (0)