public async Task SuccessfullyGeneratesSecretUrl()
        {
            //Arrange
            var secureMessageRequestDto = new SecureMessageRequestDto
            {
                Message = _testMessage,
                Ttl     = _testTtl
            };

            var createSecureMessageResponse = new CreateSecureMessageResponse
            {
                Key   = _testKey,
                Links = new Links
                {
                    Api = $"{_baseUrl}{_testPathBase}/{_testKey}",
                    Web = $"{_baseUrl}/messages/view/{_testKey}"
                }
            };

            _messageService.Setup(e => e.Create(_testMessage, 1)).ReturnsAsync(_testKey);

            //Act
            var result = await _controller.CreateSecureMessageUrl(secureMessageRequestDto);

            var actualResult = result as OkObjectResult;

            //Assert
            _messageService.VerifyAll();
            Assert.IsNotNull(result);
            Assert.IsNotNull(actualResult.Value);
            Assert.AreEqual(HttpStatusCode.OK, (HttpStatusCode)actualResult.StatusCode);
            Assert.IsInstanceOf <CreateSecureMessageResponse>(actualResult.Value);
            var secureMessageResponse = actualResult.Value as CreateSecureMessageResponse;

            Assert.AreEqual(createSecureMessageResponse.Key, secureMessageResponse.Key);
            Assert.AreEqual(createSecureMessageResponse.Links.Api, secureMessageResponse.Links.Api);
            Assert.AreEqual(createSecureMessageResponse.Links.Web, secureMessageResponse.Links.Web);
        }