-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c335e46
commit a0f6746
Showing
23 changed files
with
1,047 additions
and
624 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
14 changes: 14 additions & 0 deletions
14
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/DockerVolumes/ssl/pure-ftpd-dhparams.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
-----BEGIN X9.42 DH PARAMETERS----- | ||
MIICLAKCAQEAw2Vi3DlhlltVCbM+vrY7qXBL62xIsyYGWHDVRiQR1CxfdPpy7AVG | ||
lPc1FWsFBrUMVmhKBwsktlQmCzT7Hf6DdBFLU4V2erCER1IkEkwuC1IC61j8NTFq | ||
59jVNjgy7RFTN3n0eFvaT7U/PQIyC7gGqlYHJpPnBb8nul3AF5aGdrlHvuvattwY | ||
6P6PtpJCpGypZi352nGMkMFhA/tcBfi3jp9hFA7o6HJi89/UZzeO1ks1uEUf3EFv | ||
rx7ckWBW9Rr85bTNsAcOn1q9h2BVoY8RjRHNTtzwpiygE31BRovShVL4UL+uYZ+E | ||
1qKBdfV8KLyGT6IEdxEwHD+JC+3oMA1TfQKCAQB+2MtPTMZDRLJfy//8DbEajAK4 | ||
SyBzv7OHjZ/Oin4we1tE9FtLUDNwXNocGVPyHLK+cYhhDOcVWI3LdCyY38abSnhE | ||
XWUA5q28OQsfsoDT/6EOx8NZ5A69UgNtzUyHfacnWCtVZ+WCUO6qb/XreqFZhuJD | ||
tt4wwwitl2xU2C29CNqd3mTVukDypkHhBZZosMn6r4Jyw6V98xoZx9pvSqk8ts84 | ||
4bfTAgcfbWW7IH5C4ah6yVWfEkCbYIs5NPgAha0qumWPwpvMQSAXihYKKF3MgYWm | ||
n+va+f6/GG3lIIbuvea/ESh9W7mSytAgwqd27JXtxcNd9D+Yu3f8khefBcvYAiEA | ||
u4TEb+qo7uxkHl/8p1q6t7fLGqtomQCJTxufjVjkJUM= | ||
-----END X9.42 DH PARAMETERS----- |
48 changes: 48 additions & 0 deletions
48
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/DockerVolumes/ssl/pure-ftpd.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCU0FaMrsBVqfPd | ||
ZncSFilS3JcOR6nZZE7mKDTo868Nz016yJXwBSEjg3z81tSTkNhocrQPvxWJAobV | ||
TXy0h0yXhJMlKV4wQKyRXsdSrS5nn2NTA+fj3kx+Gtz+4yADiDB/egkOGKAm3RZM | ||
grhjglR94BZRQk1/00Wen2B+EbCCKs4qx7uRiFbB9WPEIGkmd1e4z1zBsP2wTkWD | ||
M+6wD+Fu02nAS9eo/JVYNVcw5XVlMWy6igsvfVEtcZObHxgJj3tpRYmfsVBsDZNi | ||
rLGoraZtNSGBEVc2KTSIVsekOTNyFJ7Is8lXrUBTj5pVhdCQ3jcjfwXqHOPzu0Mb | ||
x/tTDF2lAgMBAAECggEAQYeYhSyyn0ZOj7D+P+WoXseqcOxXu9Xy9GDCI86iyEcA | ||
DFBlziLEG/pbwI7tXunKkfvolIKFfiaxrx4HCwwFSzdjAFs+Eat5Ei6VQS/nnlPO | ||
jhDLPUl3j5ROuqLTRxrimE/pyt5HL7XtitWJUrBiemeCDFhQ/jfPkXEHMZyiiD6b | ||
UnjtgmmMlsZ/6bwSyu9cTKGM9SOhCpowYBb8TEbh8HakVU+KEklsOqNCFho8ED/a | ||
dsFi9nxLRH7B872g/tiKLTgV/e0EDxsGtVKYzOL/QIKtQxbd45DYqCDOA4Vq4e/T | ||
mrGma0S2yWRjoIQefreKfxRdweSOll5mzMcPLnvBQQKBgQDDqRk5HiBqb4cZHaNG | ||
PVMOILQhuSDuOZJj1djlSCtJ0+kLTundPJON/g44nrb66BmOYLTNho0QFRxC53KJ | ||
t3zExyyqsLdUftOXAjuEWx+y2bKjmhRlPpRmL6dfAN4RLPFBiV0FDPDoYufsGoDI | ||
SuzPOmbNYAEqmiS23RC9VX4PsQKBgQDCtM9t0IMxE3c34v7/vP2nRyLD9u5xdyYX | ||
QPqXQ5Vf8ntoLKvZo4vXefMzmayptkiSQumQ8Hg8VVZCrD59jPzWiNAzNs14kWnx | ||
TZAAaa9yMTtQsLmJbAC+MW2dBpI1ZGawLNUVswA9Tyl8UNySqGhZ+BihXw5Q7K6x | ||
QsnoEFp+NQKBgQCBprSrD5aFUN/huazup0Y471zNl+IFWarycsrlq7vbkQs0zhbT | ||
3gccqQN9a1ZuzovYt6Y3Jnik9ogioUFZlneb4Sts8+qXl+7Xesg7fTJ1DiJ8nGX1 | ||
bNFjISK0JlwAX5qCReaYqSmdo6Rw5GL/1f4zl0x1vK8pLrkzXytveo4tEQKBgQC9 | ||
oQN03GMpZN/zmizoPdR9GpcNbG2GLJj4hNyKfdP5glwWdYtZiCMmVSs70iuLjnDX | ||
ojuAYfN4L1S30rF57dpBxzWe63zqNBWOYhAhlsy81p4CVFwfLwT6N4GeMUwsnAA3 | ||
DTLq008kZvjsjoSEgWhAV5UFdWKoBhuNoJKsZWD9EQKBgQCSJVuYfik7XbEobGv4 | ||
Bk0sTy32CsRYdBNtNpHuyFc2pB5pK9PqGoyhiLZVSOdPqVU0JkYs52Qjc4tze7+w | ||
FBbHXB2E00TEuKYTw9yMCo2or/GwlZuQ5sV0q7sv2q9pPJg02tUgAYJxi/XqkpAV | ||
IWlmRc8UkhRkb6utMT/VMCh2yg== | ||
-----END PRIVATE KEY----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIDTTCCAjWgAwIBAgIUFY2NpsL2ovt/mkyZ5u+VrGEh/+IwDQYJKoZIhvcNAQEL | ||
BQAwNjESMBAGA1UEAwwJbG9jYWxob3N0MRMwEQYDVQQKDApmcmVuZHNfb3JnMQsw | ||
CQYDVQQGEwJGSTAeFw0yMjA1MzAwODUzMDhaFw0yNzA1MzAwODUzMDhaMDYxEjAQ | ||
BgNVBAMMCWxvY2FsaG9zdDETMBEGA1UECgwKZnJlbmRzX29yZzELMAkGA1UEBhMC | ||
RkkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU0FaMrsBVqfPdZncS | ||
FilS3JcOR6nZZE7mKDTo868Nz016yJXwBSEjg3z81tSTkNhocrQPvxWJAobVTXy0 | ||
h0yXhJMlKV4wQKyRXsdSrS5nn2NTA+fj3kx+Gtz+4yADiDB/egkOGKAm3RZMgrhj | ||
glR94BZRQk1/00Wen2B+EbCCKs4qx7uRiFbB9WPEIGkmd1e4z1zBsP2wTkWDM+6w | ||
D+Fu02nAS9eo/JVYNVcw5XVlMWy6igsvfVEtcZObHxgJj3tpRYmfsVBsDZNirLGo | ||
raZtNSGBEVc2KTSIVsekOTNyFJ7Is8lXrUBTj5pVhdCQ3jcjfwXqHOPzu0Mbx/tT | ||
DF2lAgMBAAGjUzBRMB0GA1UdDgQWBBTmLsDgEYUp5f7M6INaiTd3vxVvODAfBgNV | ||
HSMEGDAWgBTmLsDgEYUp5f7M6INaiTd3vxVvODAPBgNVHRMBAf8EBTADAQH/MA0G | ||
CSqGSIb3DQEBCwUAA4IBAQAtPbygrCcfrSwKsgi6anBwzGgvdshK5lEF75LbuTPD | ||
S/yagTfLfEtkNkYmTal7Llsa6RP64bpNNIx6n9vuKtuyRUM3YJzksUAPokkBe7cw | ||
FcexXcqBnh5u9ZBfMnSkM02iB+cRbiKYskeWVeuct01uDfGsyxc7gWOw2yeAZhXC | ||
8opQlzVMs2tk43VIy7dmFuj/D7BwHK0Lc1eEf56Q0CaE7kMM8NzROs7Zonm2eMqz | ||
RAgOFNPax+zsqjCr1493w4luLzUzimDISsXIrZF3+RA+rBWnMbUKtApUM5fJUAl/ | ||
qZh3mieSHCh/pEeNesnn+FZu8k3HpIknlm2b3J5WzZK8 | ||
-----END CERTIFICATE----- |
55 changes: 33 additions & 22 deletions
55
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/Frends.FTP.ListFiles.Tests.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,33 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
|
||
<IsPackable>false</IsPackable> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" /> | ||
<PackageReference Include="MSTest.TestAdapter" Version="2.2.8" /> | ||
<PackageReference Include="MSTest.TestFramework" Version="2.2.8" /> | ||
<PackageReference Include="coverlet.collector" Version="3.1.2" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\Frends.FTP.ListFiles\Frends.FTP.ListFiles.csproj" /> | ||
</ItemGroup> | ||
|
||
</Project> | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
|
||
<IsPackable>false</IsPackable> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="coverlet.collector" Version="3.1.2"> | ||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||
<PrivateAssets>all</PrivateAssets> | ||
</PackageReference> | ||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" /> | ||
<PackageReference Include="nunit" Version="3.12.0" /> | ||
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"> | ||
<PrivateAssets>all</PrivateAssets> | ||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||
</PackageReference> | ||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\Frends.FTP.ListFiles\Frends.FTP.ListFiles.csproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<Folder Include="DockerVolumes\data\ftp\test\" /> | ||
</ItemGroup> | ||
|
||
</Project> |
8 changes: 8 additions & 0 deletions
8
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/GlobalSuppressions.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// This file is used by Code Analysis to maintain SuppressMessage | ||
// attributes that are applied to this project. | ||
// Project-level suppressions either have no target or are given | ||
// a specific target and scoped to a namespace, type, member, etc. | ||
|
||
using System.Diagnostics.CodeAnalysis; | ||
|
||
[assembly: SuppressMessage("Usage", "CA2211:Non-constant fields should not be visible", Justification = "<Pending>", Scope = "member", Target = "~F:Frends.FTP.ListFiles.Tests.Lib.ListFilesTestBase.FtpHelper")] |
83 changes: 83 additions & 0 deletions
83
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/Lib/FtpHelper.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
using System.Text; | ||
using FluentFTP; | ||
using Frends.FTP.ListFiles.Definitions; | ||
|
||
namespace Frends.FTP.ListFiles.Tests; | ||
|
||
public class FtpHelper : IDisposable | ||
{ | ||
// Those values are taken directly from docker compose (see docker-compose.yml) | ||
internal static readonly string FtpHost = "localhost"; | ||
internal static readonly int FtpPort = 21; | ||
internal static readonly int FtpsPort = 21; | ||
internal static readonly string FtpUsername = "frendsuser"; | ||
internal static readonly string FtpPassword = "frendspass"; | ||
internal static readonly string Sha1Hash = "D911262984DE9CC32A3518A1094CD24249EA5C49"; | ||
readonly FtpClient client = new(); | ||
|
||
public FtpHelper() | ||
{ | ||
client = new FtpClient(FtpHost, FtpPort, FtpUsername, FtpPassword); | ||
client.Connect(); | ||
} | ||
|
||
internal static Connection GetFtpsConnection() | ||
{ | ||
var connection = new Connection | ||
{ | ||
UseFTPS = true, | ||
Address = FtpHost, | ||
UserName = FtpUsername, | ||
Password = FtpPassword, | ||
Port = FtpsPort, | ||
SslMode = FtpsSslMode.Explicit, | ||
CertificateHashStringSHA1 = Sha1Hash | ||
}; | ||
|
||
return connection; | ||
} | ||
|
||
internal static Connection GetFtpConnection() | ||
{ | ||
var connection = new Connection | ||
{ | ||
Address = FtpHost, | ||
UserName = FtpUsername, | ||
Password = FtpPassword, | ||
Port = FtpPort, | ||
SslMode = FtpsSslMode.None | ||
}; | ||
|
||
return connection; | ||
} | ||
|
||
internal void CreateFileOnFTP(string subDir, string fileName, string content = "hello") | ||
{ | ||
client.CreateDirectory(subDir); | ||
client.SetWorkingDirectory(subDir); | ||
client.Upload(Encoding.UTF8.GetBytes(content), fileName); | ||
client.SetWorkingDirectory("/"); | ||
} | ||
|
||
internal void CreateDirectoryOnFTP(string subDir) | ||
{ | ||
client.CreateDirectory(subDir); | ||
} | ||
|
||
internal bool FileExistsOnFTP(string subDir, string fileName) | ||
{ | ||
return client.FileExists(subDir + "/" + fileName); | ||
} | ||
|
||
public void Dispose() | ||
{ | ||
GC.SuppressFinalize(this); | ||
client.Disconnect(); | ||
if (!client.IsDisposed) client.Dispose(); | ||
} | ||
|
||
public void DeleteDirectoryOnFTP(string ftpDir) | ||
{ | ||
client.DeleteDirectory(ftpDir, FtpListOption.Recursive); | ||
} | ||
} |
59 changes: 59 additions & 0 deletions
59
Frends.FTP.ListFiles/Frends.FTP.ListFiles.Tests/Lib/ListFilesTestBase.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
using NUnit.Framework; | ||
using Frends.FTP.ListFiles.Definitions; | ||
|
||
namespace Frends.FTP.ListFiles.Tests.Lib; | ||
|
||
public class ListFilesTestBase | ||
{ | ||
protected string LocalDirFullPath = string.Empty; | ||
protected static FtpHelper FtpHelper = new(); | ||
protected string FtpDir = string.Empty; | ||
|
||
protected Input input = new(); | ||
|
||
[OneTimeSetUp] | ||
public void OneTimeSetUp() | ||
{ | ||
FtpHelper = new FtpHelper(); | ||
} | ||
|
||
[OneTimeTearDown] | ||
public void OneTimeTearDown() | ||
{ | ||
if (FtpHelper != null) | ||
FtpHelper.Dispose(); | ||
} | ||
|
||
[SetUp] | ||
public void SetUp() | ||
{ | ||
FtpDir = Guid.NewGuid().ToString(); | ||
var files = new string[] | ||
{ | ||
$"Test1.txt", | ||
$"Test1.xlsx", | ||
$"Test1.xml", | ||
$"testfile.txt", | ||
$"DemoTest.txt" | ||
}; | ||
|
||
foreach (var file in files) | ||
{ | ||
FtpHelper.CreateFileOnFTP(FtpDir, file); | ||
} | ||
|
||
input = new Input | ||
{ | ||
FileMask = "*", | ||
Directory = FtpDir, | ||
IncludeSubdirectories = false, | ||
IncludeType = IncludeType.File | ||
}; | ||
} | ||
|
||
[TearDown] | ||
public void TearDown() | ||
{ | ||
FtpHelper.DeleteDirectoryOnFTP(FtpDir); | ||
} | ||
} |
Oops, something went wrong.