Пример #1
0
        public void ParseExceptionShouldReturnFireWallRuleDetectedGivenValidErrorMessage()
        {
            int errorCode = SqlAzureFirewallBlockedErrorNumber;
            FirewallParserResponse response = _firewallErrorParser.ParseErrorMessage(_errorMessage, errorCode);

            Assert.True(response.FirewallRuleErrorDetected);
            Assert.Equal(response.BlockedIpAddress.ToString(), "1.2.3.4");
        }
Пример #2
0
        public void ParseExceptionShouldReturnFireWallRuleNotDetectedGivenInvalidErrorMessage()
        {
            int    errorCode                = SqlAzureFirewallBlockedErrorNumber;
            string errorMessage             = "error Message with no IP address";
            FirewallParserResponse response = _firewallErrorParser.ParseErrorMessage(errorMessage, errorCode);

            Assert.False(response.FirewallRuleErrorDetected);
        }
Пример #3
0
        public void ParseExceptionShouldReturnFireWallRuleNotDetectedGivenLoginFailedError()
        {
            int errorCode = SqlAzureLoginFailedErrorNumber;

            FirewallParserResponse response = _firewallErrorParser.ParseErrorMessage(_errorMessage, errorCode);

            Assert.False(response.FirewallRuleErrorDetected);
        }
Пример #4
0
        public void ParseExceptionShouldReturnFireWallRuleNotDetectedGivenDifferentError()
        {
            int errorCode = 123;

            FirewallParserResponse response = _firewallErrorParser.ParseErrorMessage(_errorMessage, errorCode);

            Assert.False(response.FirewallRuleErrorDetected);
        }
Пример #5
0
        public void ParseExceptionShouldThrowExceptionGivenNullErrorMessage()
        {
            string errorMessage = null;
            int    errorCode    = SqlAzureFirewallBlockedErrorNumber;

            Assert.Throws <ArgumentNullException>("errorMessage", () =>
            {
                FirewallParserResponse response = _firewallErrorParser.ParseErrorMessage(errorMessage, errorCode);
                Assert.False(response.FirewallRuleErrorDetected);
            });
        }
        public async Task ProcessHandleFirewallRuleRequest(HandleFirewallRuleParams canHandleRuleParams, RequestContext <HandleFirewallRuleResponse> requestContext)
        {
            Func <Task <HandleFirewallRuleResponse> > requestHandler = () =>
            {
                HandleFirewallRuleResponse response = new HandleFirewallRuleResponse();
                if (!MssqlProviderId.Equals(canHandleRuleParams.ConnectionTypeId, StringComparison.OrdinalIgnoreCase))
                {
                    response.Result       = false;
                    response.ErrorMessage = SR.FirewallRuleUnsupportedConnectionType;
                }
                else
                {
                    FirewallErrorParser    parser         = new FirewallErrorParser();
                    FirewallParserResponse parserResponse = parser.ParseErrorMessage(canHandleRuleParams.ErrorMessage, canHandleRuleParams.ErrorCode);
                    response.Result    = parserResponse.FirewallRuleErrorDetected;
                    response.IpAddress = parserResponse.BlockedIpAddress != null?parserResponse.BlockedIpAddress.ToString() : string.Empty;
                }
                return(Task.FromResult(response));
            };

            await HandleRequest(requestHandler, null, requestContext, "HandleCreateFirewallRuleRequest");
        }