Example #1
0
        public void SetUp()
        {
            ITUtil.DeleteInstallationsOfAllApp();

            ITUtil.InitNebula();

            ITUtil.DeleteAllUsers();
            ITUtil.DeleteAllGroups();

            if (NbUser.IsLoggedIn())
            {
                NbUser.LogoutAsync().Wait();
            }

            // 端末ストレージ上のインスタレーション情報削除
            ITUtil.DeleteStorage();

            // 各フィールド初期化
            NbSsePushInstallation._sInstance = null;
            _isAssertionExists  = false;
            _openCalledCount    = 0;
            _closeCalledCount   = 0;
            _errorCalledCount   = 0;
            _messageCalledCount = 0;
        }
Example #2
0
        /// <summary>
        /// サインアップ・ログインする。
        /// </summary>
        /// <returns>ログイン中ユーザ、ログインに失敗した場合は空のインスタンスが返る</returns>
        public static async Task <NbUser> SignUpAndLogin()
        {
            var user = new NbUser
            {
                Username = Username,
                Email    = Email
            };

            return(await SignUpAndLogin(user));
        }
Example #3
0
        public async void TestUpdateInstallationNormalLoggedIn()
        {
            // Save Installation
            await ITUtil.UpsertInstallation();

            NbSsePushInstallation currentInstallation = NbSsePushInstallation.GetCurrentInstallation();

            Assert.IsNull(currentInstallation.Owner);
            var preInstallationId = currentInstallation.InstallationId;
            var preUsername       = currentInstallation.Username;
            var prePassword       = currentInstallation.Password;
            var preUri            = currentInstallation.Uri;

            // Signup & Login
            NbUser user = await ITUtil.SignUpAndLogin();

            // Change Channels, AllowedSenders and Options

            // Channels Set
            ISet <string> channels = new HashSet <string>();

            channels.Add("chan2");
            currentInstallation.Channels = channels;

            // AllowedSenders Set
            ISet <string> allowedSenders = new HashSet <string>();

            allowedSenders.Add("g:anonymous");
            currentInstallation.AllowedSenders = allowedSenders;

            // Options Set
            NbJsonObject options = new NbJsonObject();

            options.Add("email", "*****@*****.**");
            options.Add("test", "testValue2");
            currentInstallation.Options = options;

            // Main
            var result = await currentInstallation.Save();

            // Check Response
            ITUtil.CheckCommonResponse(result);
            Assert.AreEqual(preInstallationId, result.InstallationId);
            Assert.AreEqual(channels, result.Channels);
            Assert.AreEqual(allowedSenders, result.AllowedSenders);
            Assert.AreEqual(options, result.Options);
            Assert.AreEqual(user.UserId, result.Owner);
            Assert.AreEqual(preUsername, result.Username);
            Assert.AreEqual(prePassword, result.Password);
            Assert.AreEqual(preUri, result.Uri);

            // Check Storage
            ITUtil.CheckSaveStorage(result);
        }
Example #4
0
        /// <summary>
        /// 全ユーザ削除
        /// </summary>
        public static void DeleteAllUsers()
        {
            ITUtil.UseMasterKey();

            var users = NbUser.QueryUserAsync().Result;

            foreach (var user in users)
            {
                user.DeleteAsync().Wait();
            }

            ITUtil.UseNormalKey();
        }
        /// <summary>
        /// Todo テキストを追加する
        /// </summary>
        /// <param name="text">テキスト</param>
        public async void Add(string text)
        {
            // NbObject 作成
            var obj = _bucket.NewObject();

            // 現在のユーザのみアクセス可能とする
            obj.Acl            = NbAcl.CreateAclForUser(NbUser.CurrentUser());
            obj["description"] = text;

            // 保存
            var result = await obj.SaveAsync();

            Reload();
        }
Example #6
0
        /// <summary>
        /// サインアップ・ログインする。
        /// </summary>
        /// <param name="user">ユーザ</param>
        /// <returns>ログイン中ユーザ、ログインに失敗した場合は空のインスタンスが返る</returns>
        public static async Task <NbUser> SignUpAndLogin(NbUser user)
        {
            NbUser loggedInUser = new NbUser();

            try
            {
                await user.SignUpAsync(Password);

                loggedInUser = await NbUser.LoginWithUsernameAsync(user.Username, Password);
            }
            catch (Exception)
            {
                // do nothing
            }

            return(loggedInUser);
        }
Example #7
0
        /// <summary>
        /// ログイン
        /// </summary>
        /// <param name="mail">メールアドレス</param>
        /// <param name="pass">パスワード</param>
        public async Task <bool> Login(string mail, string pass)
        {
            try
            {
                _user = await NbUser.LoginWithEmailAsync(mail, pass);
            }
            catch (Exception e)
            {
                return(false);
            }

            if (_user == null)
            {
                return(false);
            }

            return(true);
        }
Example #8
0
        /// <summary>
        /// ログアウトする。
        /// </summary>
        /// <returns>成否</returns>
        public static async Task <bool> Logout()
        {
            bool result = true;

            if (NbUser.IsLoggedIn())
            {
                try
                {
                    await NbUser.LogoutAsync();
                }
                catch (Exception)
                {
                    result = false;
                }
            }

            return(result);
        }
Example #9
0
        public void SetUp()
        {
            ITUtil.DeleteInstallationsOfAllApp();

            ITUtil.InitNebula();

            ITUtil.DeleteAllUsers();
            ITUtil.DeleteAllGroups();

            if (NbUser.IsLoggedIn())
            {
                NbUser.LogoutAsync().Wait();
            }

            // 端末ストレージ上のインスタレーション情報削除
            ITUtil.DeleteStorage();

            // 各フィールド初期化
            NbSsePushInstallation._sInstance = null;
        }
Example #10
0
        /// <summary>
        /// サインアップ
        /// </summary>
        /// <param name="mail">メールアドレス</param>
        /// <param name="pass">パスワード</param>
        public async Task <bool> Signup(string mail, string pass)
        {
            NbUser user = new NbUser();

            user.Email = mail;
            try
            {
                _user = await user.SignUpAsync(pass);
            }
            catch (Exception e)
            {
                return(false);
            }

            if (_user == null)
            {
                return(false);
            }

            return(true);
        }
Example #11
0
        public async void TestSaveInstallationNormalLoggedIn()
        {
            // SignUp & Login
            NbUser user = await ITUtil.SignUpAndLogin();

            NbSsePushInstallation currentInstallation = NbSsePushInstallation.GetCurrentInstallation();

            // Channels Set
            ISet <string> channels = new HashSet <string>();

            channels.Add("chan1");
            currentInstallation.Channels = channels;

            // AllowedSenders Set
            ISet <string> allowedSenders = new HashSet <string>();

            allowedSenders.Add("g:authenticated");
            currentInstallation.AllowedSenders = allowedSenders;

            // Options Set
            NbJsonObject options = new NbJsonObject();

            options.Add("email", "*****@*****.**");
            options.Add("test", "testValue");
            currentInstallation.Options = options;

            // Main
            var result = await currentInstallation.Save();

            // Check Response
            ITUtil.CheckCommonResponse(result);
            Assert.AreEqual(channels, result.Channels);
            Assert.AreEqual(allowedSenders, result.AllowedSenders);
            Assert.AreEqual(user.UserId, result.Owner);
            Assert.AreEqual(options, result.Options);

            // Check Storage
            ITUtil.CheckSaveStorage(result);
        }
Example #12
0
        // ログイン操作部
        private async void login(String token)
        {
            // NbService の生成
            var service = NbService.GetInstance();

            // テナントID
            service.TenantId = TenantId;
            // アプリケーションID
            service.AppId = AppId;
            // アプリケーションキー
            service.AppKey = AppKey;
            // エンドポイントURI
            service.EndpointUrl = EndpointUrl;

            var param = new NbUser.LoginParam()
            {
                Token = token
            };

            try
            {
                var ret = await NbUser.LoginAsync(param);

                Console.WriteLine("UserID = " + ret.UserId);
                Console.WriteLine("Email = " + ret.Email);
                Console.WriteLine("UserName = "******"CreatedAt = " + ret.CreatedAt);
                Console.WriteLine("UpdatedAt = " + ret.UpdatedAt);
                Console.WriteLine("Options = " + ret.Options.ToString());
                Console.WriteLine("Groups = " + "[" + String.Join(", ", ret.Groups) + "]");
            }
            catch (Exception ex)
            {
                Console.WriteLine("login : login error = " + ex.ToString());
            }
        }