private void SecurityLogin_D_Test()
        {
            var client = new SecurityLogin.SecurityLoginClient(_channel);

            SecurityLoginProto proto = client.GetSecurityLogin(new SecurityLoginKey()
            {
                Id = _securityLogin.Id.ToString()
            });
            SecurityLoginList protos = new SecurityLoginList();

            protos.Items.Add(proto);
            client.DeleteSecurityLogin(protos);
            proto = null;
            try
            {
                proto = client.GetSecurityLogin(new SecurityLoginKey()
                {
                    Id = _securityLogin.Id.ToString()
                });
            }
            catch (RpcException)
            {
            }
            Assert.IsNull(proto);
        }
        private SecurityLoginProto CheckGetSecurityLogin(SecurityLogin.SecurityLoginClient client
                                                         , SecurityLoginKey key, SecurityLoginProto compare = null)
        {
            SecurityLoginProto proto = null;

            try
            {
                proto = client.GetSecurityLogin(key);
            }
            catch (RpcException)
            {
                Assert.Fail();
            }
            Assert.IsNotNull(proto);
            Assert.AreEqual(proto.Id, key.Id);
            if (compare != null)
            {
                Assert.AreEqual(proto.Login, compare.Login);
                //   Assert.AreEqual(proto.PasswordUpdate, compare.PasswordUpdate);
                Assert.AreEqual(proto.AgreementAccepted, compare.AgreementAccepted);
                //   Assert.AreEqual(proto.IsLocked, compare.IsLocked);
                //   Assert.AreEqual(proto.IsInactive, compare.IsInactive);
                Assert.AreEqual(proto.EmailAddress, compare.EmailAddress);
                Assert.AreEqual(proto.PhoneNumber, compare.PhoneNumber);
                Assert.AreEqual(proto.FullName, compare.FullName);
                //   Assert.AreEqual(proto.ForceChangePassword, compare.ForceChangePassword);
                Assert.AreEqual(proto.PrefferredLanguage, compare.PrefferredLanguage);
            }
            return(proto);
        }
        private void SecurityLogin_CRU_Test()
        {
            var client = new SecurityLogin.SecurityLoginClient(_channel);
            // add
            SecurityLoginProto proto  = ProtoMapper.MapFromSecurityLoginPoco(_securityLogin);
            SecurityLoginList  protos = new SecurityLoginList();

            protos.Items.Add(proto);
            client.AddSecurityLogin(protos);

            proto = CheckGetSecurityLogin(client, new SecurityLoginKey()
            {
                Id = proto.Id
            }, proto);

            // check List
            protos = client.GetSecurityLogins(new Empty());
            Assert.IsTrue(protos.Items.Count > 0);

            // check update
            proto.Login               = Faker.User.Email();
            proto.AgreementAccepted   = ConvertDateTime2TimeStamp(Faker.Date.PastWithTime());
            proto.Created             = ConvertDateTime2TimeStamp(Faker.Date.PastWithTime());
            proto.EmailAddress        = Faker.User.Email();
            proto.ForceChangePassword = true;
            proto.FullName            = Faker.Name.FullName();
            proto.IsInactive          = true;
            proto.IsLocked            = true;
            proto.Password            = "******";
            proto.PasswordUpdate      = ConvertDateTime2TimeStamp(Faker.Date.Forward());
            proto.PhoneNumber         = "416-416-9889";
            proto.PrefferredLanguage  = "FR".PadRight(10);

            protos = new SecurityLoginList();
            protos.Items.Add(proto);
            client.UpdateSecurityLogin(protos);

            CheckGetSecurityLogin(client, new SecurityLoginKey()
            {
                Id = proto.Id
            }, proto);
        }