public void TestCallbacks()
        {
            GlobalInitalization.Initialize();
            SignalGo.Client.ClientProvider client  = GlobalInitalization.InitializeAndConnecteClient();
            AuthenticationService          service = client.RegisterServerService <AuthenticationService>(client);

            SignalGoTest2.Models.MessageContract result = service.TestCallbacksAsync();
            Assert.IsTrue(result.IsSuccess);
            SignalGoTest2.Models.MessageContract result2 = service.TestCallbacksSync();
            Assert.IsTrue(result2.IsSuccess);
        }
        public async Task TestAdminUserASync(IAuthenticationService service)
        {
            SignalGoTest2.Models.MessageContract resultAdminAccess = await service.AdminAccessAsync();

            Assert.IsTrue(!resultAdminAccess.IsSuccess && resultAdminAccess.Message == "Session access denied!");

            SignalGoTest2.Models.MessageContract userAccess = await service.UserAccessAsync();

            Assert.IsTrue(!userAccess.IsSuccess && userAccess.Message == "Session access denied!");

            SignalGoTest2.Models.MessageContract gustAccess = await service.GustAccessAsync();

            Assert.IsTrue(gustAccess.IsSuccess && gustAccess.Message == "gust success");

            SignalGoTest2.Models.MessageContract <SignalGoTest2.Models.UserInfo> loginResult = await service.LoginAsync("test", "test");

            Assert.IsTrue(!loginResult.IsSuccess && loginResult.Message == "Username or Password Incorrect!" && loginResult.Data == null);

            string whatIsMyNameAmIGust = await service.WhatIsMyNameAsync();

            Assert.IsTrue(whatIsMyNameAmIGust == "Gust");

            SignalGoTest2.Models.MessageContract <SignalGoTest2.Models.UserInfo> adminLoginResult = await service.LoginAsync("admin", "123");

            Assert.IsTrue(adminLoginResult.IsSuccess && adminLoginResult.Data.IsAdmin && adminLoginResult.Data.FullName == "admin user");
            HandleHttpSessions(service);

            string adminWhatIsMyNameAmIGust = await service.WhatIsMyNameAsync();

            Assert.IsTrue(adminWhatIsMyNameAmIGust == "admin user");


            userAccess = await service.UserAccessAsync();

            Assert.IsTrue(userAccess.IsSuccess && userAccess.Message == "user success");

            gustAccess = await service.GustAccessAsync();

            Assert.IsTrue(gustAccess.IsSuccess && gustAccess.Message == "gust success");

            resultAdminAccess = await service.AdminAccessAsync();

            Assert.IsTrue(resultAdminAccess.IsSuccess && resultAdminAccess.Message == "admin success");
        }
        public void TestNormalUserSync(IAuthenticationService service)
        {
            SignalGoTest2.Models.MessageContract resultAccess = service.AdminAccess();
            Assert.IsTrue(!resultAccess.IsSuccess && resultAccess.Message == "Session access denied!");

            SignalGoTest2.Models.MessageContract userAccess = service.UserAccess();
            Assert.IsTrue(!userAccess.IsSuccess && userAccess.Message == "Session access denied!");

            SignalGoTest2.Models.MessageContract gustAccess = service.GustAccess();
            Assert.IsTrue(gustAccess.IsSuccess && gustAccess.Message == "gust success");

            SignalGoTest2.Models.MessageContract <SignalGoTest2.Models.UserInfo> loginResult = service.Login("test", "test");
            Assert.IsTrue(!loginResult.IsSuccess && loginResult.Message == "Username or Password Incorrect!" && loginResult.Data == null);

            string whatIsMyNameGust = service.WhatIsMyName();

            Assert.IsTrue(whatIsMyNameGust == "Gust");

            SignalGoTest2.Models.MessageContract <SignalGoTest2.Models.UserInfo> normaloginResult = service.Login("user", "321");
            Assert.IsTrue(normaloginResult.IsSuccess && !normaloginResult.Data.IsAdmin && normaloginResult.Data.IsUser);
            HandleHttpSessions(service);

            string normalWhatIsMyNameGust = service.WhatIsMyName();

            Assert.IsTrue(normalWhatIsMyNameGust == "normal user");


            userAccess = service.UserAccess();
            Assert.IsTrue(userAccess.IsSuccess && userAccess.Message == "user success");

            gustAccess = service.GustAccess();
            Assert.IsTrue(gustAccess.IsSuccess && gustAccess.Message == "gust success");

            resultAccess = service.AdminAccess();
            Assert.IsTrue(!resultAccess.IsSuccess && resultAccess.Message == "Session access denied!");
        }