Esempio n. 1
0
        public static CosmosClient CreateMockCosmosClient(
            Action <CosmosClientBuilder> customizeClientBuilder = null,
            Cosmos.ConsistencyLevel?accountConsistencyLevel     = null,
            bool enableTelemetry = false)
        {
            DocumentClient      documentClient      = accountConsistencyLevel.HasValue ? new MockDocumentClient(accountConsistencyLevel.Value) : new MockDocumentClient();
            CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("http://localhost", MockCosmosUtil.RandomInvalidCorrectlyFormatedAuthKey);

            customizeClientBuilder?.Invoke(cosmosClientBuilder);
            if (enableTelemetry)
            {
                cosmosClientBuilder.WithTelemetryEnabled();
            }

            return(cosmosClientBuilder.Build(documentClient));
        }
        public static CosmosClient CreateMockCosmosClient(
            bool useCustomSerializer      = false,
            bool?isClientTelemetryEnabled = null,
            Action <CosmosClientBuilder> customizeClientBuilder = null)
        {
            MockDocumentClient  documentClient      = new MockDocumentClient();
            CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("http://localhost", Convert.ToBase64String(Guid.NewGuid().ToByteArray()));

            cosmosClientBuilder.WithConnectionModeDirect();
            customizeClientBuilder?.Invoke(cosmosClientBuilder);

            if (useCustomSerializer)
            {
                cosmosClientBuilder.WithSerializerOptions(
                    new CosmosSerializationOptions()
                {
                    IgnoreNullValues = true,
                });
            }

            if (isClientTelemetryEnabled.HasValue && isClientTelemetryEnabled.Value)
            {
                cosmosClientBuilder.WithTelemetryEnabled();
            }

            documentClient.dummyHeaderNames = new string[100];
            for (int i = 0; i < documentClient.dummyHeaderNames.Length; i++)
            {
                documentClient.dummyHeaderNames[i] = Guid.NewGuid().ToString();
            }
            documentClient.dummyHeaderNames[0] = HttpConstants.HttpHeaders.ActivityId;
            documentClient.dummyHeaderNames[1] = HttpConstants.HttpHeaders.SessionToken;
            documentClient.dummyHeaderNames[2] = HttpConstants.HttpHeaders.ConsistencyLevel;
            documentClient.dummyHeaderNames[3] = HttpConstants.HttpHeaders.XDate;

            return(cosmosClientBuilder.Build(documentClient));
        }