Ejemplo n.º 1
0
        public OAuthModel GetOAuthModel(OAuthAppsettingsModel oAuthAppsettingsModel, System.DateTime dateTimeNow, IElapsedTimeService elapsedTimeService, IEncodingService encodingService)
        {
            var consumerKey    = !string.IsNullOrEmpty(oAuthAppsettingsModel.ConsumerKey) ? oAuthAppsettingsModel.ConsumerKey : Environment.GetEnvironmentVariable("CONSUMER_KEY");
            var consumerSecret = !string.IsNullOrEmpty(oAuthAppsettingsModel.ConsumerSecret) ? oAuthAppsettingsModel.ConsumerSecret : Environment.GetEnvironmentVariable("CONSUMER_SECRET");
            var accessToken    = !string.IsNullOrEmpty(oAuthAppsettingsModel.AccessToken) ? oAuthAppsettingsModel.AccessToken : Environment.GetEnvironmentVariable("ACCESS_TOKEN");
            var tokenSecret    = !string.IsNullOrEmpty(oAuthAppsettingsModel.TokenSecret) ? oAuthAppsettingsModel.TokenSecret : Environment.GetEnvironmentVariable("TOKEN_SECRET");

            var timeStamp = elapsedTimeService
                            .UnixEpoch(dateTimeNow)
                            .ToString();

            var nonce = encodingService
                        .ToBase64String(timeStamp);

            var oAuthModel = new OAuthModel()
            {
                ConsumerKey    = consumerKey,
                ConsumerSecret = consumerSecret,
                AccessToken    = accessToken,
                TokenSecret    = tokenSecret,
                TimeStamp      = timeStamp,
                Nonce          = nonce
            };

            if (oAuthModel.IsNullOrEmpty())
            {
                throw new Exception("OAuthModel IsNullOrEmpty, check keys in appsettings.json or provide keys in environment variables.");
            }

            return(oAuthModel);
        }
Ejemplo n.º 2
0
        public void GetOAuthModel_given_null_or_empty_parameter_data_and_EnvironmentVariables_not_set_should_throw_Exception(
            string consumerKey, string consumerSecret, string accessToken, string tokenSecret,
            double mockUnixEpoch, string mockToBase64String)
        {
            // Arrange
            var oAuthAppsettingsModel = new OAuthAppsettingsModel()
            {
                ConsumerKey    = consumerKey,
                ConsumerSecret = consumerSecret,
                AccessToken    = accessToken,
                TokenSecret    = tokenSecret
            };
            var dateTimeNow            = System.DateTime.Now;
            var mockElapsedTimeService = new Mock <IElapsedTimeService>();
            var mockEncodingService    = new Mock <IEncodingService>();
            IAuthorizationModelService classUnderTest = new AuthorizationModelService();

            mockElapsedTimeService
            .Setup(x => x.UnixEpoch(dateTimeNow))
            .Returns(mockUnixEpoch);

            mockEncodingService
            .Setup(x => x.ToBase64String(It.IsAny <string>()))
            .Returns(mockToBase64String);

            // Act
            // Assert
            Assert.Throws <Exception>(() => classUnderTest.GetOAuthModel(
                                          oAuthAppsettingsModel,
                                          dateTimeNow,
                                          mockElapsedTimeService.Object,
                                          mockEncodingService.Object));
        }
Ejemplo n.º 3
0
        public void GetOAuthModel_given_valid_data_should_return_valid_OAuthModel()
        {
            // Arrange
            var consumerKey    = "consumerKey";
            var consumerSecret = "consumerSecret";
            var accessToken    = "accessToken";
            var tokenSecret    = "tokenSecret";
            var timeStamp      = 1579220112d;
            var nonce          = "ShPKxisPFC0";
            var dateTimeNow    = System.DateTime.Now;

            var oAuthAppsettingsModel = new OAuthAppsettingsModel()
            {
                AccessToken    = accessToken,
                ConsumerKey    = consumerKey,
                ConsumerSecret = consumerSecret,
                TokenSecret    = tokenSecret
            };

            var expected = new OAuthModel()
            {
                ConsumerKey    = consumerKey,
                ConsumerSecret = consumerSecret,
                AccessToken    = accessToken,
                TokenSecret    = tokenSecret,
                TimeStamp      = timeStamp.ToString(),
                Nonce          = nonce
            };

            IAuthorizationModelService classUnderTest = new AuthorizationModelService();
            var mockElapsedTimeService = new Mock <IElapsedTimeService>();
            var mockEncodingService    = new Mock <IEncodingService>();

            mockElapsedTimeService
            .Setup(x => x.UnixEpoch(dateTimeNow))
            .Returns(timeStamp);

            mockEncodingService
            .Setup(x => x.ToBase64String(timeStamp.ToString()))
            .Returns(nonce);

            // Act
            var actual = classUnderTest.GetOAuthModel(
                oAuthAppsettingsModel,
                dateTimeNow,
                mockElapsedTimeService.Object,
                mockEncodingService.Object);

            // Assert
            actual.Should().BeEquivalentTo(expected);
        }