コード例 #1
0
        public void RetrySequenceIsRespected()
        {
            var toleranceMilliseconds = 80;

            var response = @"{""id"":""1234"",""name"":""Test Group"",""member_count"":1,""max_invites"":100,""date_created"":""2015-10-06T12:56:55+00:00""}";
            var client   = new MockWebClient();

            client.Responses.Add(response);
            client.Responses.Add(response);
            client.Responses.Add(response);
            client.Exceptions.Add(new WebException("1"));
            client.Exceptions.Add(new WebException("2"));
            client.Exceptions.Add(new WebException("3"));
            var api = new SurveyMonkeyApi("key", "token", client, new [] { 1, 2 });

            var exception = Assert.Throws <WebException>(delegate { api.GetGroupDetails(1234); });

            Assert.AreEqual("3", exception.Message);
            Assert.AreEqual(3, client.Requests.Count);

            Assert.GreaterOrEqual(toleranceMilliseconds, client.Requests.First().TimeSinceInitialisation);

            Assert.LessOrEqual(1000 - toleranceMilliseconds, client.Requests.Skip(1).First().TimeSinceInitialisation);
            Assert.GreaterOrEqual(1000 + toleranceMilliseconds, client.Requests.Skip(1).First().TimeSinceInitialisation);

            Assert.LessOrEqual(3000 - toleranceMilliseconds, client.Requests.Skip(2).First().TimeSinceInitialisation);
            Assert.GreaterOrEqual(3000 + toleranceMilliseconds, client.Requests.Skip(2).First().TimeSinceInitialisation);
        }
コード例 #2
0
        public void GetGroupDetailsIsDeserialised()
        {
            var client = new MockWebClient();

            client.Responses.Add(@"
                {""id"":""1234"",""name"":""Test Group"",""member_count"":1,""max_invites"":100,""date_created"":""2015-10-06T12:56:55+00:00""}
            ");

            var api     = new SurveyMonkeyApi("TestApiKey", "TestOAuthToken", client);
            var results = api.GetGroupDetails(1234);

            Assert.AreEqual(1234, results.Id);
            Assert.AreEqual("Test Group", results.Name);
            Assert.AreEqual(100, results.MaxInvites);
            Assert.AreEqual(new DateTime(2015, 10, 6, 12, 56, 55, DateTimeKind.Utc), results.DateCreated);
            Assert.IsNull(results.OwnerEmail);
        }