private static CosmosContainer GetMockedContainer(string containerName = "myColl")
        {
            CosmosResponseMessageHeaders headers = new CosmosResponseMessageHeaders();

            headers.Continuation = string.Empty;

            Mock <FeedIterator <DocumentServiceLeaseCore> > mockedQuery = new Mock <FeedIterator <DocumentServiceLeaseCore> >();

            mockedQuery.Setup(q => q.FetchNextSetAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => ReadFeedResponse <DocumentServiceLeaseCore> .CreateResponse(
                              responseMessageHeaders: headers,
                              resources: DocumentServiceLeaseContainerCosmosTests.allLeases,
                              hasMoreResults: false));
            mockedQuery.SetupSequence(q => q.HasMoreResults)
            .Returns(true)
            .Returns(false);

            Mock <CosmosContainer> mockedItems = new Mock <CosmosContainer>();

            mockedItems.Setup(i => i.CreateItemQuery <DocumentServiceLeaseCore>(
                                  // To make sure the SQL Query gets correctly created
                                  It.Is <string>(value => ("SELECT * FROM c WHERE STARTSWITH(c.id, '" + DocumentServiceLeaseContainerCosmosTests.leaseStoreManagerSettings.GetPartitionLeasePrefix() + "')").Equals(value)),
                                  It.IsAny <int>(),
                                  It.IsAny <int?>(),
                                  It.IsAny <string>(),
                                  It.IsAny <QueryRequestOptions>()))
            .Returns(() =>
            {
                return(mockedQuery.Object);
            });

            return(mockedItems.Object);
        }
        public void TestAllKeys()
        {
            var requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[Key] = Guid.NewGuid().ToString();
            Assert.AreEqual(Key, requestHeaders.AllKeys().First());
        }
        public void TestIndexer()
        {
            var    requestHeaders = new CosmosResponseMessageHeaders();
            string value          = Guid.NewGuid().ToString();

            requestHeaders.CosmosMessageHeaders[Key] = value;
            Assert.AreEqual(value, requestHeaders[Key]);
        }
        public void TestClear()
        {
            var requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[Key] = Guid.NewGuid().ToString();
            requestHeaders.CosmosMessageHeaders.Clear();
            Assert.IsNull(requestHeaders[Key]);
        }
        public void TestCountWithKnownProperties()
        {
            var requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[Key] = Guid.NewGuid().ToString();
            requestHeaders.Continuation = Guid.NewGuid().ToString();
            requestHeaders.CosmosMessageHeaders[HttpConstants.HttpHeaders.RetryAfterInMilliseconds] = "20";
            Assert.AreEqual(3, requestHeaders.CosmosMessageHeaders.Count());
        }
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 internal StoredProcedureExecuteResponse(
     HttpStatusCode httpStatusCode,
     CosmosResponseMessageHeaders headers,
     T response)
     : base(httpStatusCode,
            headers,
            response)
 {
 }
        public void TestRemove()
        {
            var    requestHeaders = new CosmosResponseMessageHeaders();
            string value          = Guid.NewGuid().ToString();

            requestHeaders.CosmosMessageHeaders[Key] = value;
            Assert.AreEqual(value, requestHeaders[Key]);
            requestHeaders.Remove(Key);
            Assert.IsNull(requestHeaders[Key]);
        }
        public void TestGetValues()
        {
            var    requestHeaders = new CosmosResponseMessageHeaders();
            string value1         = Guid.NewGuid().ToString();

            requestHeaders.Add(Key, value1);
            IEnumerable <string> values = requestHeaders.GetValues(Key);

            Assert.AreEqual(1, values.Count());
        }
Beispiel #9
0
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 internal UserDefinedFunctionResponse(
     HttpStatusCode httpStatusCode,
     CosmosResponseMessageHeaders headers,
     CosmosUserDefinedFunctionProperties cosmosUserDefinedFunctionSettings)
     : base(
         httpStatusCode,
         headers,
         cosmosUserDefinedFunctionSettings)
 {
 }
        public void TestGetToNameValueCollection()
        {
            var    requestHeaders = new CosmosResponseMessageHeaders();
            string value          = Guid.NewGuid().ToString();

            requestHeaders.CosmosMessageHeaders[Key] = value;
            NameValueCollection anotherCollection = requestHeaders.CosmosMessageHeaders.ToNameValueCollection();

            Assert.AreEqual(value, anotherCollection[Key]);
        }
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 internal StoredProcedureResponse(
     HttpStatusCode httpStatusCode,
     CosmosResponseMessageHeaders headers,
     CosmosStoredProcedureProperties cosmosStoredProcedureSettings)
     : base(
         httpStatusCode,
         headers,
         cosmosStoredProcedureSettings)
 {
 }
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 internal TriggerResponse(
     HttpStatusCode httpStatusCode,
     CosmosResponseMessageHeaders headers,
     CosmosTriggerProperties cosmosTriggerSettings)
     : base(
         httpStatusCode,
         headers,
         cosmosTriggerSettings)
 {
 }
        public void TestAddAndGetAndSet()
        {
            string value1         = Guid.NewGuid().ToString();
            string value2         = Guid.NewGuid().ToString();
            var    requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.Add(Key, value1);
            Assert.AreEqual(value1, requestHeaders.Get(Key));
            requestHeaders.Set(Key, value2);
            Assert.AreEqual(value2, requestHeaders.Get(Key));
        }
        public void TestClearWithKnownProperties()
        {
            var requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[Key] = Guid.NewGuid().ToString();
            requestHeaders.Continuation = Guid.NewGuid().ToString();
            requestHeaders.CosmosMessageHeaders[HttpConstants.HttpHeaders.RetryAfterInMilliseconds] = "20";
            requestHeaders.CosmosMessageHeaders.Clear();
            Assert.IsNull(requestHeaders[Key]);
            Assert.IsNull(requestHeaders.Continuation);
            Assert.IsNull(requestHeaders.RetryAfter);
        }
        public void TestGetIEnumerableKeys()
        {
            var    requestHeaders = new CosmosResponseMessageHeaders();
            string value          = Guid.NewGuid().ToString();

            requestHeaders.CosmosMessageHeaders[Key] = value;
            foreach (var header in requestHeaders)
            {
                Assert.AreEqual(value, requestHeaders[header]);
                return;
            }
        }
        public void TestAllKeysWithKnownProperties()
        {
            var requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[Key] = Guid.NewGuid().ToString();
            requestHeaders.Continuation = Guid.NewGuid().ToString();
            requestHeaders.CosmosMessageHeaders[HttpConstants.HttpHeaders.RetryAfterInMilliseconds] = "20";
            requestHeaders.Add(WFConstants.BackendHeaders.SubStatus, "1002");
            var allKeys = requestHeaders.AllKeys();

            Assert.IsTrue(allKeys.Contains(Key));
            Assert.IsTrue(allKeys.Contains(HttpConstants.HttpHeaders.RetryAfterInMilliseconds));
            Assert.IsTrue(allKeys.Contains(HttpConstants.HttpHeaders.Continuation));
            Assert.IsTrue(allKeys.Contains(WFConstants.BackendHeaders.SubStatus));
        }
Beispiel #17
0
        public void TestSetAndGetKnownProperties()
        {
            string value1         = Guid.NewGuid().ToString();
            string value2         = "1002";
            string value3         = "20";
            var    requestHeaders = new CosmosResponseMessageHeaders();

            requestHeaders.CosmosMessageHeaders[HttpConstants.HttpHeaders.Continuation]             = value1;
            requestHeaders.CosmosMessageHeaders[WFConstants.BackendHeaders.SubStatus]               = value2;
            requestHeaders.CosmosMessageHeaders[HttpConstants.HttpHeaders.RetryAfterInMilliseconds] = value3;
            Assert.AreEqual(value1, requestHeaders.Continuation);
            Assert.AreEqual(int.Parse(value2), (int)requestHeaders.SubStatusCode);
            Assert.AreEqual(TimeSpan.FromMilliseconds(20), requestHeaders.RetryAfter);
            Assert.AreEqual(value1, requestHeaders[HttpConstants.HttpHeaders.Continuation]);
            Assert.AreEqual(value2, requestHeaders[WFConstants.BackendHeaders.SubStatus]);
            Assert.AreEqual(value3, requestHeaders[HttpConstants.HttpHeaders.RetryAfterInMilliseconds]);
        }
        public void AllKnownPropertiesHaveGetAndSetAndIndexed()
        {
            var responseHeaders       = new CosmosResponseMessageHeaders();
            var knownHeaderProperties = typeof(CosmosResponseMessageHeaders)
                                        .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
                                        .Where(p => p.GetCustomAttributes(typeof(CosmosKnownHeaderAttribute), false).Any());

            foreach (var knownHeaderProperty in knownHeaderProperties)
            {
                string value  = "123456789";
                string header = ((CosmosKnownHeaderAttribute)knownHeaderProperty.GetCustomAttributes(typeof(CosmosKnownHeaderAttribute), false).First()).HeaderName;
                responseHeaders.CosmosMessageHeaders[header] = value;                          // Using indexer

                Assert.AreEqual(value, (string)knownHeaderProperty.GetValue(responseHeaders)); // Verify getter

                value = "9876543210";
                knownHeaderProperty.SetValue(responseHeaders, value);
                Assert.AreEqual(value, responseHeaders[header]);
            }
        }