예제 #1
0
        public void AuthNKeyTest()
        {
            const String EXPECTED = "test";

            StretchrRequest<String> target = new StretchrRequest<String>(new StretchrClient(), response => { }, (request, statusCode, exception) => { });
            target.AuthNKey("test");

            String actual = target.AuthenticationKey;

            Assert.AreEqual(EXPECTED, actual);
        }
예제 #2
0
        public void ConstructAuthenticationKeyTest()
        {
            const String AUTHENTICATION_KEY = "test";

            const String EXPECTED = "key=test";

            IList<String> expected = new List<String>();
            expected.Add(EXPECTED);

            IStretchrRequest target = new StretchrRequest<String>(new StretchrClient(), response => { }, (request, statusCode, exception) => { });

            target.AuthNKey(AUTHENTICATION_KEY);

            PrivateObject privateTarget = new PrivateObject(target);

            privateTarget.Invoke("ConstructAuthenticationKey");

            IList<String> actual = (IList<String>)privateTarget.GetField("_queryStringFieldValuesList");

            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count, actual.Count);
            Assert.AreEqual(expected[0], actual[0]);
        }
예제 #3
0
        public void QueryStringTest()
        {
            const String AUTHENTICATION_KEY = "645643654563456";
            const String KEY1 = "key1";
            const String KEY2 = "key2";
            const String KEY3 = "key3";
            const String KEY4 = "key4";
            const String KEY5 = "key5";
            const String KEY_AGE = "Age";
            const String KEY_GENDER = "Gender";
            const String KEY_NAME = "Name";
            const String KEY_PROFESSION = "Profession";
            const String PATH = "/test/path";

            const String EXPECTED = "key=645643654563456&method=GET&always200=1&exclude=key1,key2,key3&include=~parent,~path&total=1&:Name=*&:Name=John,Tyler,Ryan&:Age=18..65&:Profession=Software Engineer&:Gender=!Female&avg(key4,key5)&count()&group(key4,key5)&max(key4,key5)&min(key4,key5)&sum(key4,key5)&uniqueSet(key4,key5)&unwind(key4,key5)&~order=key4,-key5&limit=10&skip=10&versioning=1";

            IStretchrRequest target = new StretchrRequest<String>(new StretchrClient(), response => { }, (request, statusCode, exception) => { });
            target.AuthNKey(AUTHENTICATION_KEY)
                  .UseHttpMethod(System.Net.Http.HttpMethod.Get)
                  .AlwaysReturn200()
                  .At(PATH)
                  .Exclude(KEY1, KEY2, KEY3)
                  .IncludeAllVersions()
                  .IncludeSpecialSystemFields(StretchrSpecialSystemField.Parent,
                                              StretchrSpecialSystemField.Path)
                  .IncludeTotal()
                  .Where(KEY_NAME.KeyExists()
                                 .And(KEY_NAME.IsEqualTo("John")
                                                     .Or("Tyler")
                                                     .Or("Ryan"))
                                 .And(KEY_AGE.IsBetween(18, 65))
                                 .And(KEY_PROFESSION.IsEqualTo("Software Engineer"))
                                 .And(KEY_GENDER.IsNotEqualTo("Female")))
                  .Average(KEY4, KEY5)
                  .Count()
                  .Group(KEY4, KEY5)
                  .Max(KEY4, KEY5)
                  .Min(KEY4, KEY5)
                  .Sum(KEY4, KEY5)
                  .UniqueSet(KEY4, KEY5)
                  .Unwind(KEY4, KEY5)
                  .Order(KEY4.SortAscending(), KEY5.SortDescending())
                  .Limit(10)
                  .Skip(10)
                  .UseVersioning();

            String actual = target.QueryString;

            Assert.AreEqual(EXPECTED, actual);
        }