コード例 #1
0
        public void Test_ASyncWithoutCallback()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "facebook-9999-8888-7777");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.FACEBOOK, null);
        }
コード例 #2
0
        public void Test_RenRenkSync()
        {
            AddMockLoginAndRefreshResponse(200, "user-0000-1111-2222", "token-aaaa-bbbb-cccc", 3600, true);
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "renren-9999-8888-7777");
            KiiUser user = KiiUser.LoginWithSocialNetwork(accessCredential, Provider.RENREN);

            Assert.IsNotNull(user);
            Assert.AreEqual(user.ID, "user-0000-1111-2222");
            Assert.AreEqual(user.Username, "username_user-0000-1111-2222");
            Assert.AreEqual(user.Displayname, "display_user-0000-1111-2222");
            Assert.AreEqual(KiiUser.CurrentUser.ID, "user-0000-1111-2222");
            Assert.AreEqual(KiiUser.AccessToken, "token-aaaa-bbbb-cccc");
            Assert.AreEqual("renren-9999-8888-7777", user.GetSocialAccessTokenDictionary() ["oauth_token"]);
            Assert.AreEqual(true, user.GetSocialAccessTokenDictionary() ["kii_new_user"]);

            Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod [0]);
            Assert.AreEqual("appId", client.RequestHeader[0]["X-Kii-AppID"]);
            Assert.AreEqual("appKey", client.RequestHeader[0]["X-Kii-AppKey"]);
            Assert.AreEqual("application/vnd.kii.AuthTokenRenRenRequest+json", client.RequestHeader[0]["content-type"]);
            Assert.AreEqual(Utils.Path(Kii.BaseUrl, "apps", Kii.AppId, "integration", "renren"), client.RequestUrl[0]);
            Assert.AreEqual(1, new JsonObject(client.RequestBody[0]).Length());
            Assert.AreEqual("renren-9999-8888-7777", new JsonObject(client.RequestBody[0]).Get("accessToken"));
        }
コード例 #3
0
        public void Test_TwitterWithoutAccessTokenSecretSync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "twitter-9999-8888-7777");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.TWITTER);
        }
コード例 #4
0
        public void Test_UnsupportedProviderSync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "dropbox-9999-8888-7777");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.DROPBOX);
        }
コード例 #5
0
        public void Test_QQWithoutOpenIDSync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "qq-9999-8888-7777");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.QQ);
        }
コード例 #6
0
        public void Test_QQWithoutAccessTokenSync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("openID", "qq-openid-6666-5555");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.QQ);
        }
コード例 #7
0
        public void Test_FacebookWithoutAccessTokenSync()
        {
            AddMockLoginAndRefreshResponse(200, "user-0000-1111-2222", "token-aaaa-bbbb-cccc", 3600, true);
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.FACEBOOK);
        }
コード例 #8
0
        public void Test_400Sync()
        {
            client.AddResponse(new BadRequestException("", null, "", BadRequestException.Reason.INVALID_INPUT_DATA));
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "facebook-9999-8888-7777");
            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.FACEBOOK);
        }
コード例 #9
0
        public void Test_QQASync()
        {
            AddMockLoginAndRefreshResponse(200, "user-0000-1111-2222", "token-aaaa-bbbb-cccc", 3600, false);
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "qq-9999-8888-7777");
            accessCredential.Add("openID", "qq-openid-6666-5555");

            CountDownLatch cd        = new CountDownLatch(1);
            KiiUser        user      = null;
            Exception      exception = null;

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.QQ, (KiiUser u, Exception e) => {
                user      = u;
                exception = e;
                cd.Signal();
            });
            if (!cd.Wait(new TimeSpan(0, 0, 0, 3)))
            {
                Assert.Fail("Callback not fired.");
            }
            Assert.IsNull(exception);
            Assert.IsNotNull(user);
            Assert.AreEqual(user.ID, "user-0000-1111-2222");
            Assert.AreEqual(user.Username, "username_user-0000-1111-2222");
            Assert.AreEqual(user.Displayname, "display_user-0000-1111-2222");
            Assert.AreEqual(KiiUser.CurrentUser.ID, "user-0000-1111-2222");
            Assert.AreEqual(KiiUser.AccessToken, "token-aaaa-bbbb-cccc");
            Assert.AreEqual("qq-9999-8888-7777", user.GetSocialAccessTokenDictionary() ["oauth_token"]);
            Assert.AreEqual(false, user.GetSocialAccessTokenDictionary() ["kii_new_user"]);
            Assert.AreEqual("qq-openid-6666-5555", user.GetSocialAccessTokenDictionary() ["openID"]);

            Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod [0]);
            Assert.AreEqual("appId", client.RequestHeader[0]["X-Kii-AppID"]);
            Assert.AreEqual("appKey", client.RequestHeader[0]["X-Kii-AppKey"]);
            Assert.AreEqual("application/vnd.kii.AuthTokenQQRequest+json", client.RequestHeader[0]["content-type"]);
            Assert.AreEqual(Utils.Path(Kii.BaseUrl, "apps", Kii.AppId, "integration", "qq"), client.RequestUrl[0]);
            Assert.AreEqual(2, new JsonObject(client.RequestBody[0]).Length());
            Assert.AreEqual("qq-9999-8888-7777", new JsonObject(client.RequestBody[0]).Get("accessToken"));
            Assert.AreEqual("qq-openid-6666-5555", new JsonObject(client.RequestBody[0]).Get("openID"));
        }
コード例 #10
0
        public void Test_RenRenWithoutAccessTokenASync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            CountDownLatch cd        = new CountDownLatch(1);
            KiiUser        user      = null;
            Exception      exception = null;

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.RENREN, (KiiUser u, Exception e) => {
                user      = u;
                exception = e;
                cd.Signal();
            });
            if (!cd.Wait(new TimeSpan(0, 0, 0, 3)))
            {
                Assert.Fail("Callback not fired.");
            }
            Assert.IsNull(user);
            Assert.IsNotNull(exception);
            Assert.IsInstanceOfType(typeof(ArgumentException), exception);
        }
コード例 #11
0
        public void Test_UnsupportedProviderASync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "dropbox-9999-8888-7777");

            CountDownLatch cd        = new CountDownLatch(1);
            KiiUser        user      = null;
            Exception      exception = null;

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.DROPBOX, (KiiUser u, Exception e) => {
                user      = u;
                exception = e;
                cd.Signal();
            });
            if (!cd.Wait(new TimeSpan(0, 0, 0, 3)))
            {
                Assert.Fail("Callback not fired.");
            }
            Assert.IsNull(user);
            Assert.IsNotNull(exception);
            Assert.IsInstanceOfType(typeof(ArgumentException), exception);
        }
コード例 #12
0
        public void Test_400ASync()
        {
            client.AddResponse(new BadRequestException("", null, "", BadRequestException.Reason.INVALID_INPUT_DATA));
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            accessCredential.Add("accessToken", "facebook-9999-8888-7777");

            CountDownLatch cd        = new CountDownLatch(1);
            KiiUser        user      = null;
            Exception      exception = null;

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.FACEBOOK, (KiiUser u, Exception e) => {
                user      = u;
                exception = e;
                cd.Signal();
            });
            if (!cd.Wait(new TimeSpan(0, 0, 0, 3)))
            {
                Assert.Fail("Callback not fired.");
            }
            Assert.IsNull(user);
            Assert.IsNotNull(exception);
            Assert.IsInstanceOfType(typeof(BadRequestException), exception);
        }
コード例 #13
0
        public void Test_RenRenWithoutAccessTokenSync()
        {
            Dictionary <string, string> accessCredential = new Dictionary <string, string>();

            KiiUser.LoginWithSocialNetwork(accessCredential, Provider.RENREN);
        }