Ejemplo n.º 1
0
        public void Can_Expand_MiniUrl(string miniUrl)
        {
            const string expectedOriginalUrl = "https://www.google.com";

            //Arrange
            _repositoryMock.Setup(x => x.GetOriginalUrl("abcd1234"))
            .Returns(expectedOriginalUrl);

            EarlMiniProvider.InitializeTestingConfiguration(_repositoryMock.Object);

            //Act
            string originalUrl = EarlMiniProvider.ExpandUrl(miniUrl);

            //Assert
            Assert.IsNotNullOrEmpty(miniUrl);
            Assert.AreEqual(expectedOriginalUrl, originalUrl);
        }
Ejemplo n.º 2
0
        public void Should_RetriveAlreadyExistingMiniUrl_WhenGivenAPreviouslyTriedUrl()
        {
            const string expectedAlreadyExistingUrl = "http://url.mini/abcd1234";

            //Arrange
            _repositoryMock.Setup(x => x.GetMiniUrl(It.IsAny <string>()))
            .Returns(expectedAlreadyExistingUrl);

            EarlMiniProvider.InitializeTestingConfiguration(_repositoryMock.Object);

            //Act
            string miniUrl = EarlMiniProvider.MinifyUrl("https://www.sometestingurl.com");

            //Assert
            Assert.AreEqual(expectedAlreadyExistingUrl, miniUrl);

            _repositoryMock.Verify(x => x.SaveMiniUrl(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
            _repositoryMock.Verify(x => x.GetSqlBinaryCheckSum(It.IsAny <string>()), Times.Never);
        }
Ejemplo n.º 3
0
        public void Can_MinifyUrl_UsingSecureTemplate(string url)
        {
            //Arrange
            _repositoryMock.Setup(x => x.GetSqlBinaryCheckSum(It.IsAny <string>()))
            .Returns(-123456);

            _repositoryMock.Setup(x => x.GetMiniUrl(It.IsAny <string>()))
            .Returns(string.Empty);

            _repositoryMock.Setup(x => x.SaveMiniUrl(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);

            EarlMiniProvider.InitializeTestingConfiguration(_repositoryMock.Object);

            //Act
            string miniUrl = EarlMiniProvider.MinifyUrl(url, true);

            //Assert
            Assert.IsNotNullOrEmpty(miniUrl);
            Assert.IsTrue(miniUrl.Length == ExpectedLenthOfSecureMiniUrl);
        }
Ejemplo n.º 4
0
        public void Should_TryConfiguredMaxTries_AtMost_WhenGeneratingUniqueFragment()
        {
            //Arrange
            _repositoryMock.Setup(x => x.GetSqlBinaryCheckSum(It.IsAny <string>()))
            .Returns(-123456);

            _repositoryMock.Setup(x => x.GetMiniUrl(It.IsAny <string>()))
            .Returns(string.Empty);

            _repositoryMock.Setup(x => x.SaveMiniUrl(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(false);

            EarlMiniProvider.InitializeTestingConfiguration(_repositoryMock.Object);

            //Act
            string miniUrl = EarlMiniProvider.MinifyUrl("https://www.google.com");

            //Assert
            Assert.IsNullOrEmpty(miniUrl);

            _repositoryMock.Verify(x => x.GetMiniUrl(It.IsAny <string>()), Times.Exactly(EarlMiniProvider.MaxNumberOfTriesToGenerateUniqueFragment));
        }