public void BuildRequestParameterString_ShouldCreateCorrectParameters() { const string callbackUri = "callBackUri"; const string subscriptionModeStr = "subscribe"; const string topic = "topic"; const string verify = "verify"; var leaseSeconds = new TimeSpan(1, 0, 0, 0); const string secret = "secret"; const string verifyToken = "verifyToken"; const string parameterPattern = "hub.callback={0}&hub.mode={1}&hub.topic={2}&hub.verify={3}&hub.lease_seconds={4}&hub.secret={5}&hub.verify_token={6}"; var expectedParameterString = string.Format(parameterPattern, callbackUri, subscriptionModeStr, topic, verify, leaseSeconds.TotalSeconds, secret, verifyToken); var subscriptionRequest = new SubscriptionRequest ( callbackUri, topic, verify, leaseSeconds, secret, verifyToken ); var result = subscriptionRequest.BuildRequestParameterString(); Assert.AreEqual(result, expectedParameterString); }
public void Subscribe_ShouldSuccessfullySubscribe() { var subscriptionRequest = new SubscriptionRequest("callbackUri", "topic", "12345", _oneDayTimeSpan, "secret", "verifyToken"); var actualRequestBody = ""; _mockHttpClient.Setup(x => x.Post(It.IsAny<string>())) .Callback(delegate(string requestData) { actualRequestBody = requestData; }); var subscriberClient = new SubscriberClient(_mockHttpClient.Object, _mockSubscriptionRepository.Object); subscriberClient.MakeRequest(subscriptionRequest); Assert.AreEqual(subscriptionRequest.BuildRequestParameterString(), actualRequestBody); }
public void MakeRequest(SubscriptionRequest subscriptionRequest) { var requestData = subscriptionRequest.BuildRequestParameterString(); _httpClient.Post(requestData); _subscriptionRepository.Add(subscriptionRequest); }