public void Matches_ReturnsFalse_IfDeclaredMetadataIs201_AndActualMetadataIs200()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ForProducesResponseType(201, AttributeData, Mock.Of <IMethodSymbol>());
            var actualMetadata   = new ActualApiResponseMetadata(ReturnStatement, 200, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.False(matches);
        }
        public void Matches_ReturnsTrue_IfDeclaredMetadataAndActualMetadataHaveSameStatusCode()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ForProducesResponseType(302, AttributeData, Mock.Of <IMethodSymbol>());
            var actualMetadata   = new ActualApiResponseMetadata(ReturnStatement, 302, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.True(matches);
        }
        public void Matches_ReturnsTrue_IfDeclaredMetadataIsImplicit_AndActualMetadataReturns200()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ImplicitResponse;
            var actualMetadata   = new ActualApiResponseMetadata(ReturnStatement, 200, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.True(matches);
        }
        public void Matches_ReturnsFalse_IfDeclaredMetadataIsDefault_AndActualMetadataIsNotErrorStatusCode()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ForProducesDefaultResponse(AttributeData, Mock.Of <IMethodSymbol>());
            var actualMetadata   = new ActualApiResponseMetadata(ReturnStatement, 204, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.False(matches);
        }
Esempio n. 5
0
        public void Matches_ReturnsTrue_IfDeclaredMetadataIs201_AndActualMetadataIsDefault()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ForProducesResponseType(201, AttributeData, Mock.Of <IMethodSymbol>());
            var actualMetadata   = new ActualApiResponseMetadata(ReturnExpression, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.True(matches);
        }
Esempio n. 6
0
        public void Matches_ReturnsTrue_IfDeclaredMetadataIsImplicit_AndActualMetadataIsDefaultResponse()
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ImplicitResponse;
            var actualMetadata   = new ActualApiResponseMetadata(ReturnExpression, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.True(matches);
        }
Esempio n. 7
0
        public void Matches_ReturnsTrue_IfDeclaredMetadataIsDefault_AndActualMetadataIsErrorStatusCode(int actualStatusCode)
        {
            // Arrange
            var declaredMetadata = DeclaredApiResponseMetadata.ForProducesDefaultResponse(AttributeData, Mock.Of <IMethodSymbol>());
            var actualMetadata   = new ActualApiResponseMetadata(ReturnExpression, actualStatusCode, null);

            // Act
            var matches = declaredMetadata.Matches(actualMetadata);

            // Assert
            Assert.True(matches);
        }
        internal bool Matches(ActualApiResponseMetadata actualMetadata)
        {
            if (actualMetadata.IsDefaultResponse)
            {
                return(IsImplicit || StatusCode == 200 || StatusCode == 201);
            }
            else if (actualMetadata.StatusCode == StatusCode)
            {
                return(true);
            }
            else if (actualMetadata.StatusCode >= 400 && IsDefault)
            {
                // ProducesDefaultResponse matches any failure code
                return(true);
            }

            return(false);
        }
        internal static bool TryGetDeclaredMetadata(
            IList <DeclaredApiResponseMetadata> declaredApiResponseMetadata,
            ActualApiResponseMetadata actualMetadata,
            out DeclaredApiResponseMetadata result)
        {
            for (var i = 0; i < declaredApiResponseMetadata.Count; i++)
            {
                var declaredMetadata = declaredApiResponseMetadata[i];

                if (declaredMetadata.Matches(actualMetadata))
                {
                    result = declaredMetadata;
                    return(true);
                }
            }

            result = default;
            return(false);
        }
 internal static bool Contains(IList <DeclaredApiResponseMetadata> declaredApiResponseMetadata, ActualApiResponseMetadata actualMetadata)
 {
     return(TryGetDeclaredMetadata(declaredApiResponseMetadata, actualMetadata, out _));
 }