mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-14 15:43:33 +01:00
* Add TIOBE + include SonarAnalyzer.CSharp * . * cp * Copyright © WireMock.Net * more fixes * fix * xpath * if (Matchers == null || !Matchers.Any()) * if (Matchers != null) * ? * . * .
64 lines
2.1 KiB
C#
64 lines
2.1 KiB
C#
// Copyright © WireMock.Net
|
|
|
|
using System;
|
|
using System.Text;
|
|
using FluentAssertions;
|
|
using RandomDataGenerator.FieldOptions;
|
|
using RandomDataGenerator.Randomizers;
|
|
using WireMock.Util;
|
|
using Xunit;
|
|
|
|
namespace WireMock.Net.Tests.Util;
|
|
|
|
public class CompressionUtilsTests
|
|
{
|
|
[Theory]
|
|
[InlineData("gzip")]
|
|
[InlineData("deflate")]
|
|
public void CompressDecompress_ValidInput_ReturnsOriginalData(string contentEncoding)
|
|
{
|
|
// Arrange
|
|
byte[] data = Encoding.UTF8.GetBytes("Test data for compression");
|
|
|
|
// Act
|
|
byte[] compressedData = CompressionUtils.Compress(contentEncoding, data);
|
|
byte[] decompressedData = CompressionUtils.Decompress(contentEncoding, compressedData);
|
|
|
|
// Assert
|
|
decompressedData.Should().BeEquivalentTo(data);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("gzip")]
|
|
[InlineData("deflate")]
|
|
public void Compress_ValidInput_ReturnsCompressedData(string contentEncoding)
|
|
{
|
|
// Arrange
|
|
var text = RandomizerFactory.GetRandomizer(new FieldOptionsTextRegex { Pattern = "[0-9A-Z]{1000}" }).Generate()!;
|
|
byte[] data = Encoding.UTF8.GetBytes(text);
|
|
|
|
// Act
|
|
byte[] compressedData = CompressionUtils.Compress(contentEncoding, data);
|
|
|
|
// Assert
|
|
compressedData.Length.Should().BeLessThan(data.Length);
|
|
}
|
|
|
|
[Fact]
|
|
public void CompressDecompress_InvalidContentEncoding_ThrowsNotSupportedException()
|
|
{
|
|
// Arrange
|
|
byte[] data = Encoding.UTF8.GetBytes("Test data for compression");
|
|
string contentEncoding = "invalid";
|
|
|
|
// Act
|
|
Action compressAction = () => CompressionUtils.Compress(contentEncoding, data);
|
|
Action decompressAction = () => CompressionUtils.Decompress(contentEncoding, data);
|
|
|
|
// Assert
|
|
compressAction.Should().Throw<NotSupportedException>()
|
|
.WithMessage($"ContentEncoding '{contentEncoding}' is not supported.");
|
|
decompressAction.Should().Throw<NotSupportedException>()
|
|
.WithMessage($"ContentEncoding '{contentEncoding}' is not supported.");
|
|
}
|
|
} |