public void TestClearTokenByCollectionFullnameRemovesToken() { SessionContainer sessionContainer = new SessionContainer("127.0.0.1"); var collectionResourceId = ResourceId.NewDocumentCollectionId(42, 129).DocumentCollectionId.ToString(); string collectionFullname = "dbs/db1/colls/collName"; sessionContainer.SetSessionToken( collectionResourceId, collectionFullname, new DictionaryNameValueCollection() { { HttpConstants.HttpHeaders.SessionToken, "range_0:1#100#4=90#5=1" } } ); // check that can read from cache based on resource-id using (DocumentServiceRequest request = DocumentServiceRequest.Create(OperationType.Read, collectionResourceId, ResourceType.Document, AuthorizationTokenType.PrimaryMasterKey, null)) { ISessionToken token = sessionContainer.ResolvePartitionLocalSessionToken(request, "range_0"); Assert.AreEqual(100, token.LSN); } // check that can read from cache based on name using (DocumentServiceRequest request = DocumentServiceRequest.CreateFromName(OperationType.Read, "dbs/db1/colls/collName/docs/42", ResourceType.Document, AuthorizationTokenType.PrimaryMasterKey, null)) { ISessionToken token = sessionContainer.ResolvePartitionLocalSessionToken(request, "range_0"); Assert.AreEqual(100, token.LSN); } sessionContainer.ClearTokenByCollectionFullname(collectionFullname); // check that can't read from cache based on resource-id using (DocumentServiceRequest request = DocumentServiceRequest.Create(OperationType.Read, collectionResourceId, ResourceType.Document, AuthorizationTokenType.PrimaryMasterKey, null)) { ISessionToken token = sessionContainer.ResolvePartitionLocalSessionToken(request, "range_0"); Assert.AreEqual(null, token); } // check that can't read from cache based on name using (DocumentServiceRequest request = DocumentServiceRequest.CreateFromName(OperationType.Read, "dbs/db1/colls/collName/docs/42", ResourceType.Document, AuthorizationTokenType.PrimaryMasterKey, null)) { ISessionToken token = sessionContainer.ResolvePartitionLocalSessionToken(request, "range_0"); Assert.AreEqual(null, token); } }