public async Task Add() { var response = new MockResponse(200); response.SetContent(SerializationHelpers.Serialize(s_testSetting, SerializeSetting)); var mockTransport = new MockTransport(response); ConfigurationClient service = CreateTestService(mockTransport); ConfigurationSetting setting = await service.AddAsync(s_testSetting); var request = mockTransport.SingleRequest; AssertRequestCommon(request); Assert.AreEqual(HttpPipelineMethod.Put, request.Method); Assert.AreEqual("https://contoso.azconfig.io/kv/test_key?label=test_label", request.Uri.ToString()); Assert.True(request.TryGetHeader("If-None-Match", out var ifNoneMatch)); Assert.AreEqual("*", ifNoneMatch); AssertContent(SerializationHelpers.Serialize(s_testSetting, SerializeRequestSetting), request); Assert.AreEqual(s_testSetting, setting); }
public async Task Update() { var response = new MockResponse(200); response.SetContent(SerializationHelpers.Serialize(s_testSetting, SerializeSetting)); var mockTransport = new MockTransport(response); ConfigurationClient service = CreateTestService(mockTransport); ConfigurationSetting setting = await service.UpdateAsync(s_testSetting, CancellationToken.None); var request = mockTransport.SingleRequest; AssertRequestCommon(request); Assert.AreEqual(RequestMethod.Put, request.Method); Assert.AreEqual("https://contoso.appconfig.io/kv/test_key?label=test_label", request.UriBuilder.ToString()); AssertContent(SerializationHelpers.Serialize(s_testSetting, SerializeRequestSetting), request); Assert.AreEqual(s_testSetting, setting); Assert.True(request.Headers.TryGetValue("If-Match", out var ifMatch)); Assert.AreEqual("*", ifMatch); }
public async Task GetBatch() { var response1 = new MockResponse(200); response1.SetContent(SerializationHelpers.Serialize(new [] { CreateSetting(0), CreateSetting(1), }, SerializeBatch)); response1.AddHeader(new HttpHeader("Link", $"</kv?after=5>;rel=\"next\"")); var response2 = new MockResponse(200); response2.SetContent(SerializationHelpers.Serialize(new [] { CreateSetting(2), CreateSetting(3), CreateSetting(4), }, SerializeBatch)); var mockTransport = new MockTransport(response1, response2); ConfigurationClient service = CreateTestService(mockTransport); var query = new SettingSelector(); int keyIndex = 0; while (true) { using (Response <SettingBatch> response = await service.GetBatchAsync(query, CancellationToken.None)) { SettingBatch batch = response.Value; for (int i = 0; i < batch.Count; i++) { ConfigurationSetting value = batch[i]; Assert.AreEqual("key" + keyIndex, value.Key); keyIndex++; } var nextBatch = batch.NextBatch; if (nextBatch == null) { break; } query = nextBatch; } } Assert.AreEqual(2, mockTransport.Requests.Count); MockRequest request1 = mockTransport.Requests[0]; Assert.AreEqual(HttpPipelineMethod.Get, request1.Method); Assert.AreEqual("https://contoso.azconfig.io/kv/?key=*&label=*", request1.UriBuilder.ToString()); AssertRequestCommon(request1); MockRequest request2 = mockTransport.Requests[1]; Assert.AreEqual(HttpPipelineMethod.Get, request2.Method); Assert.AreEqual("https://contoso.azconfig.io/kv/?key=*&label=*&after=5", request2.UriBuilder.ToString()); AssertRequestCommon(request1); }