* Init, add support for EPK property in query pipeline.
* Bug fix
* Refactored code based on feedback.
* Added "this" back to local method calls.
* Fix comment spelling
* Adding a comment
* Add null checks
* Init, it builds, need to validate tests still
* Fixed the test init. All tests are passing.
* Fixed naming
* Updated NameRoutingSmokeGatewayTest to use v3 API
* Fixed test common delete all databases to use CosmosClient, and updated references to call it in an async await instead of .Wait(). Removed unnecessary delete all databases from test methods. Only class cleanup now deletes all databases.
* Updated DirectRESTTests to be async.
* Init rename files to append core
* Update class names to match new file name.
* Added new base abstract classes. Refactored everything to use new base classes.
* Fixed comments
* Fixed feed options file encoding
* Fixed comments
* Remove comment references to core classes
* Removed unnecessary using.
* Removed unused using statements
* Removing unnecessary comments
* a draft version
* One more draft
* Simple namespace and code removal changes
* New REST contract types
* Some more contract changes
* Moving type conversion to new CosmosResource
* Some more contract changes
* Dance between different resource types
* Committing a binary diff
* Test project changes
* Cosmos tests building
* Tests green
* CosmosResource as base type removed and required properties are in-lined
AltLink is removed from all resources and also consumption constructs them on-demand.
* Committing local project system changes as well.
* New contract validation tests for database and container to match old contracts
Leveraged C# 6.0 syntax to clean-up default initialization code
PartitionKeyRangeStatisc type removed from contracts
Future work:
1. SchemaBuilderPolicy
2. SpatialSpec
3. CompositePaths
* RequestOptions excluded from GitHub
Mainfest bug fix (all UT GREEN now)
* Some more emulator cmpilation fixes
* Emulator project building
* Integrated into new StoreClientFactory
* Some more test fixes
* All except performance GREEN
* Including missing file
* Ignoring all quarantines tests
* All emulator tests GREEN
* All solution GREEN
* Including JsonNavigator code
Also all solution builds GREEN
* Cosmos regions & Proximity utils moved to Direct.
Offer tests fixed.
* Moving UT into unit-tests project.
* Removing TestJosns from Test FX project
* Solition and project file changes refresh
* making spatial classes public along with MultiPolygon
* adding query test
* adding query to multipolygon
* resolving commits
* sending mock iteration to trigger build
* Init, no testing done
* Fixed casting exception. Removed some read feed logic from query pipeline.
* Fixed merge issues
* Refactored CosmosResultSetIterator to CosmosResultSetFeedIterator. Returning a cross partition query only has a single stream and does not need to implement IEnumerable. CosmosResponseMessage was not designed to handle aggregate of responses. The current solution is to have 3 different iterators (typed query, stream query, feed).
* Stored DocumentQuery in the state to prevent creating for each call.
* Cross partition query stream is now exceptionless and always returns a CosmosQueryResponse. The try catch is temporary until the query pipeline is made exceptionless.
* Fixed tests
* Fixed bad merge.
* Added more tests. Exposed query metrics and count on CosmosQueryResponse.
* Fixed comments
* Exposed ContentSerializationFormat in the request options
* Converted CosmosQueryResponse to use http status code and error message. Added request options to support a custom IJsonNavigator and JsonWriter.
* Converted everything to use the new options class.
* Ignore test that requires handler pipeline
* Add tests for custom serialization settings.
* Changes
* Fixed tests by switching the newtonsoft conversion. The previous method did not correctly handle double correctly and cause arithmetic overflows.
* Fixed tests and read feed via query pipeline.
* Fix test
* Fix offers operations
* Added retry after to query response
* Fixed the offers and index APIs.
* More test fixes. Converting tests to handle the JObject instead of dynamic Document from v2 SDK.
* Added json settings to json converter to fix tests.
* Removed query metrics, renamed methods, and fixed a test failure.
* Ignored tests that need to be converted to v3 API.
* Changed feed options to utf8 encoding.
Cosmos client wraps Document client and needs to expose 2 controls for compute gateway:
1. Ability to disable CPU monitoring which is unnecessary because compute has own telemetry stream and cpu monitoring will consume a thread
2. Ability to pass the same IStoreClientFactory into all document clients in the process
Related work items: #382908
Adding support to handle HTML content on exceptions. This will fix the JSON parsing exceptions that are currently hit by this scenario.
Related work items: #375870
Use LFS for test json files and remove owners from tests. LFS has to be used because files over 100mb will cause a push to fail.
Related work items: #369455
Batch operation to be treated as a POST operation; expose PartitionKeyDefinition and CollectionRoutingMap to get PartitionKeyRangeId given a partition key for cross-partition batching.
Bump SDK to 3.0.0.4 corresponding to .Direct package.
Porting Gateway changes from !179520 plus adding initial unit tests.
Tests were added for:
* DocumentServiceRequest Extensions, to verify the Flags work correctly with Status Codes
* TransportClient not throwing for known status codes
* GatewayStoreClient not throwing for known status codes
* TransportHandler not receiving exceptions from the StoreModel for known exceptionless status codes
Related work items: #333331
Adding stream support for database and container operations.
1. Added new stream methods for database create, read, and delete
2. Added new emulator tests for the new methods
3. Added a new ExecUtil method that does not take a response factory since stream operations do nothing to the operation.
4. Refactored the logic for the typed responses to call the equivalent stream methods. This will ensure the same validation is done for all the calls and prevent duplicate code.
Related work items: #333328
Porting EN20181130 client changes
Unit tests follow-up
GlobalDatabaseAccountTests.cs
IndexingPolicyTests.cs:CompositeIndex
RntbdTests.cs:IdleChannelClosureAsyncTest
Related work items: #333325
Adding the Cosmos client builder. The builder was added so each Cosmos client instance gets it's own immutable cosmos configuration. This makes it clear that new cosmos client is required to update any of the cosmos client configuration properties.
Related work items: #333319
Change CosmosDefaultJsonSerializer from Encoding.Default to Utf8Encoding(false, true). Required by Mongo Interop. Default.Utf8 will not work because it will emit unicode byte order mark which will cause a 400 from the backend. The false of Utf8Encoding(false, true) makes it not emit it.
Related work items: #341166
Make the direct package version dynamic for nightly builds.
If msbuild parameter IsNighly=1 is supplied it will suffix the version with -nighly{DATE}
Example:
Release is 3.0.0.1-preview
Example of nightly will be 3.0.0.1-preview-nightly20181217
GA will be 3.0.0
Example of GA nightly will be 3.0.0-nightly20190318
Related work items: #336001