Esempio n. 1
0
        public void AllTestZipsFailExceptProper()
        {
            //arrange
            var files = AllPackages();

            foreach (var file in files)
            {
                if (!file.Contains("Proper.zip"))
                {
                    var package = VerificationController.TryParse(file);

                    //assert
                    Assert.IsNotNull(package, "Proper package result is null:" + file);
                    Assert.IsNotNull(package.Messages, "Proper package messages is null:" + file);
                    var hasFail = false;

                    foreach (var m in package.Messages)
                    {
                        if (m.MessageType == MessageTypes.Error)
                        {
                            hasFail = true;
                            break;
                        }
                    }
                    Assert.IsTrue(hasFail, "All non-proper test failed:" + file);
                }
            }
        }
        public async void RequestVerification_OnSmsSendingFailure_StatusCode500()
        {
            //Arrange
            var form = new VerificationChallengeDto
            {
                PhoneNumber = "1730456789",
                CountryCode = "49"
            };

            var userManagerMock   = MockHelpers.GetMockUserManager();
            var persistenceMock   = new Mock <IIdentityPersistence>();
            var messageSenderMock = new Mock <ISmsSender>();

            messageSenderMock
            .Setup(ms => ms.SendMessageAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(false);

            var configurationMock = new Mock <IConfigurationService>();

            configurationMock
            .SetupGet(c => c.CountriesBlackList).Returns(new int[] { });

            //Act
            var controller = new VerificationController(_logger, persistenceMock.Object,
                                                        messageSenderMock.Object, configurationMock.Object, userManagerMock.Object);

            var response = await controller.RequestVerification(form);

            //Assert
            Assert.IsType <StatusCodeResult>(response);
        }
        public async void RequestVerification_OnBlackListedCountryCode_BadRequest()
        {
            //Arrange
            var form = new VerificationChallengeDto
            {
                CountryCode = "49",
                PhoneNumber = "1730456789"
            };

            var persistenceMock   = new Mock <IIdentityPersistence>();
            var messageSenderMock = new Mock <ISmsSender>();
            var userManagerMock   = MockHelpers.GetMockUserManager();

            var configurationMock = new Mock <IConfigurationService>();

            configurationMock
            .SetupGet(c => c.CountriesBlackList).Returns(new List <int> {
                1, 12, 49
            });

            //Act
            var controller = new VerificationController(_logger, persistenceMock.Object,
                                                        messageSenderMock.Object, configurationMock.Object, userManagerMock.Object);

            var response = await controller.RequestVerification(form);

            //Assert
            Assert.IsType <BadRequestObjectResult>(response);
        }
        public async void ResolveVerification_OnNotMatchingCode_BadRequest()
        {
            //Arrange
            var resolveDto = new VerificationResolveDto
            {
                PhoneNumber      = "491736890",
                Password         = "******",
                VerificationCode = "123456"
            };

            var token = new VerificationToken {
                Expires = DateTime.MaxValue
            };

            var userManagerMock = MockHelpers.GetMockUserManager();
            var persistenceMock = new Mock <IIdentityPersistence>();

            persistenceMock
            .Setup(r => r.VerificationTokens
                   .FindByUserAsync(It.IsAny <string>()))
            .ReturnsAsync(token);

            var messageSenderMock = new Mock <ISmsSender>();
            var configurationMock = new Mock <IConfigurationService>();

            //Act
            var controller = new VerificationController(_logger, persistenceMock.Object,
                                                        messageSenderMock.Object, configurationMock.Object, userManagerMock.Object);

            var response = await controller.ResolveVerification(resolveDto);

            //Assert
            Assert.IsType <BadRequestObjectResult>(response);
        }
        public async void ResolveVerification_OnNullVerificationRequests_BadRequest()
        {
            //Arrange
            var verificationResponseDto = new VerificationResolveDto
            {
                PhoneNumber      = "491736890",
                Password         = "******",
                VerificationCode = "789-789"
            };

            var userManagerMock = MockHelpers.GetMockUserManager();
            var persistenceMock = new Mock <IIdentityPersistence>();

            persistenceMock
            .Setup(r => r.VerificationTokens
                   .FindByUserAsync(It.IsAny <string>()))
            .Returns(Task.FromResult <VerificationToken>(null));

            var messageSenderMock = new Mock <ISmsSender>();
            var configurationMock = new Mock <IConfigurationService>();

            //Act
            var controller = new VerificationController(_logger, persistenceMock.Object,
                                                        messageSenderMock.Object, configurationMock.Object, userManagerMock.Object);

            var response = await controller.ResolveVerification(verificationResponseDto);

            //Assert
            Assert.IsType <BadRequestObjectResult>(response);
        }
Esempio n. 6
0
        public void ProperMinDotNet()
        {
            //arrange
            var path = Package("Proper");
            //act
            var package = VerificationController.TryParse(path);

            //assert
            Assert.AreEqual(package.MinDotNetVersion, "3.5");
        }
Esempio n. 7
0
 private void VerifyButton_Click(object sender, EventArgs e)
 {
     BrowseButton.Enabled = false;
     VerifyButton.Enabled = false;
     Application.DoEvents();
     Models.Package package = VerificationController.TryParse(packagePathTextbox.Text);
     propertyGrid1.SelectedObject = package;
     dataGridView1.DataSource     = package.Messages;
     package.CleanUp();
     BrowseButton.Enabled = true;
     VerifyButton.Enabled = true;
     Application.DoEvents();
 }
Esempio n. 8
0
        public void ProperTest()
        {
            //arrange
            var path = Package("Proper");

            Console.WriteLine(path);

            //act
            var package = VerificationController.TryParse(path);

            //assert
            Assert.IsNotNull(package, "Proper package result is null:" + path);
        }
Esempio n. 9
0
        public void ProperNoErrorsTest()
        {
            //arrang
            var path = Package("Proper");

            Console.WriteLine(path);

            //act
            var package = VerificationController.TryParse(path);

            //assert
            Assert.IsNotNull(package, "Proper package result is null:" + path);
            Assert.IsNotNull(package.Messages, "Proper package messages is null:" + path);
            foreach (var m in package.Messages)
            {
                Assert.AreEqual(m.MessageType, MessageTypes.Error, "Proper package message has an error:" + m.Message + " " + m.Rule + " " + path);
            }
        }
Esempio n. 10
0
        public async void RequestVerification_OnValidForm_Ok()
        {
            //Arrange
            var form = new VerificationChallengeDto
            {
                CountryCode = "49",
                PhoneNumber = "1730456789"
            };

            var userManagerMock = MockHelpers.GetMockUserManager();
            var persistenceMock = new Mock <IIdentityPersistence>();

            persistenceMock
            .Setup(r => r.VerificationTokens
                   .FindByUserAsync(It.IsAny <string>()));

            persistenceMock
            .Setup(r => r.VerificationTokens
                   .AddAsync(It.IsAny <VerificationToken>()))
            .Returns(Task.FromResult(false));

            var messageSenderMock = new Mock <ISmsSender>();

            messageSenderMock
            .Setup(ms => ms.SendMessageAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(true);

            var configurationMock = new Mock <IConfigurationService>();

            configurationMock
            .SetupGet(c => c.CountriesBlackList).Returns(new int[] { });

            //Act
            var controller = new VerificationController(_logger, persistenceMock.Object,
                                                        messageSenderMock.Object, configurationMock.Object, userManagerMock.Object);

            var response = await controller.RequestVerification(form);

            //Assert
            Assert.IsType <OkResult>(response);
        }
Esempio n. 11
0
        public void CreateReminder()
        {
            ReminderModel reminder = new ReminderModel()
            {
                Day            = 7,
                Month          = 6,
                Email          = Guid.NewGuid().ToString() + "@gmx.de",
                Name           = "Patrick Epstein",
                Password       = "******",
                TimeZoneOffset = -2
            };

            //Create reminder with unknown email address
            FakeMessageService messageService = new FakeMessageService();
            HomeController     controller     = new HomeController(messageService);
            var controllerResult = controller.CreateReminder(reminder) as ViewResult;

            //Verify Controller Result
            Assert.That(controllerResult.ViewName == "Success");
            Assert.That((bool)controllerResult.ViewData["EmailVerified"], Is.False);
            //Assert verification email sent
            Assert.That(messageService.IsVerificationEmailSent(), Is.True);
            string verificationCode = messageService.SentVerificationCode;

            Assert.False(string.IsNullOrEmpty(verificationCode));
            Assert.That(messageService.VerificationEmailsSentCount, Is.EqualTo(1));


            //Try to create another reminder, same mail address still not verfied
            reminder.Name    = "Heinz Erhardt";
            reminder.Day     = 14;
            reminder.Month   = 4;
            controllerResult = controller.CreateReminder(reminder) as ViewResult;

            //Verify Controller Result
            Assert.That(controllerResult.ViewName == "Success");
            Assert.That((bool)controllerResult.ViewData["EmailVerified"], Is.False);
            //Verify no new email was sent out
            Assert.That(messageService.VerificationEmailsSentCount, Is.EqualTo(1));

            //Try to verify email address (emulate link clicking in email)
            VerificationController verificationController = new VerificationController();

            controllerResult = verificationController.VerifyMailAddress(verificationCode) as ViewResult;

            //Verify Controller Result
            Assert.True((bool)controllerResult.ViewData["VerificationSuccess"]);


            //Try to create another reminder, same mail address and now also verfied
            reminder.Name    = "Karl Gustav";
            reminder.Day     = 18;
            reminder.Month   = 2;
            controllerResult = controller.CreateReminder(reminder) as ViewResult;

            //Verify Controller Result
            Assert.That(controllerResult.ViewName == "Success");
            Assert.That((bool)controllerResult.ViewData["EmailVerified"], Is.True);

            //Verify no new email was sent out
            Assert.That(messageService.VerificationEmailsSentCount, Is.EqualTo(1));
        }