128 lines
3.4 KiB
C#
128 lines
3.4 KiB
C#
using System.Linq;
|
|
using Xunit;
|
|
using LCU.Library.Internal.FileOperationsModels.Models;
|
|
using LCU.Api.Internal.FileOperations.Validations;
|
|
namespace LCU.Api.Internal.FileOperationsTests.Services.Validations;
|
|
|
|
public class FileValidationTest
|
|
{
|
|
[Fact]
|
|
public void IsSourceEmpty_SourceEmpty_ReturnIsValid_False()
|
|
{
|
|
// arrange
|
|
var sourcePath = "";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateSourceNotEmpty(sourcePath, responseRequest);
|
|
|
|
// assert
|
|
Assert.False(responseRequest.IsSuccessful);
|
|
Assert.Equal("Source is empty and is required.", responseRequest.MessageStack.FirstOrDefault());
|
|
}
|
|
|
|
[Fact]
|
|
public void IsSourceEmpty_SourceNotEmpty_ReturnIsValid_True()
|
|
{
|
|
// arrange
|
|
var sourcePath = "TESTSource";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateSourceNotEmpty(sourcePath, responseRequest);
|
|
|
|
// assert
|
|
Assert.True(responseRequest.IsSuccessful);
|
|
Assert.Empty(responseRequest.MessageStack);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsDestinationEmpty_DestinationEmpty_ReturnIsValid_False()
|
|
{
|
|
// arrange
|
|
var sourcePath = "";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateDestinationNotEmpty(sourcePath, responseRequest);
|
|
|
|
// assert
|
|
Assert.False(responseRequest.IsSuccessful);
|
|
Assert.Equal("Destination is empty and is required.", responseRequest.MessageStack.FirstOrDefault());
|
|
}
|
|
|
|
[Fact]
|
|
public void IsDestinationEmpty_DestinationNotEmpty_ReturnIsValid_True()
|
|
{
|
|
// arrange
|
|
var destinationPath = "TESTDestination";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateDestinationNotEmpty(destinationPath, responseRequest);
|
|
|
|
// assert
|
|
Assert.True(responseRequest.IsSuccessful);
|
|
Assert.Empty(responseRequest.MessageStack);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsFilenameEmpty_FilenameEmpty_ReturnIsValid_False()
|
|
{
|
|
// arrange
|
|
var filename = "";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateFilenameNotEmpty(filename, responseRequest);
|
|
|
|
// assert
|
|
Assert.False(responseRequest.IsSuccessful);
|
|
Assert.Equal("Filename is empty and is required.", responseRequest.MessageStack.FirstOrDefault());
|
|
}
|
|
|
|
[Fact]
|
|
public void IsFilenameEmpty_FilenameNotEmpty_ReturnIsValid_True()
|
|
{
|
|
// arrange
|
|
var filename = "TESTFilename";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateDestinationNotEmpty(filename, responseRequest);
|
|
|
|
// assert
|
|
Assert.True(responseRequest.IsSuccessful);
|
|
Assert.Empty(responseRequest.MessageStack);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsFilenameValid_FilenameNotValid_ReturnIsValid_False()
|
|
{
|
|
// arrange
|
|
var filename = "/**";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateFilename(filename, responseRequest);
|
|
|
|
// assert
|
|
Assert.False(responseRequest.IsSuccessful);
|
|
Assert.Equal("File name is invalid.", responseRequest.MessageStack.FirstOrDefault());
|
|
}
|
|
|
|
[Fact]
|
|
public void IsFilenameValid_FilenameValid_ReturnIsValid_True()
|
|
{
|
|
// arrange
|
|
var filename = "TESTFilename";
|
|
var responseRequest = new RequestResponse();
|
|
|
|
// act
|
|
responseRequest = FileValidation.ValidateFilename(filename, responseRequest);
|
|
|
|
// assert
|
|
Assert.True(responseRequest.IsSuccessful);
|
|
Assert.Empty(responseRequest.MessageStack);
|
|
}
|
|
} |