Added zip and tar.gz archives
This commit is contained in:
75
test/AMWD.Common.Tests/Compression/ArchiveFileTest.cs
Normal file
75
test/AMWD.Common.Tests/Compression/ArchiveFileTest.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using System.IO;
|
||||
using AMWD.Common.Compression;
|
||||
|
||||
namespace AMWD.Common.Tests.Compression
|
||||
{
|
||||
[TestClass]
|
||||
public class ArchiveFileTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void ShouldSetCorrectPermissionsFromOctal()
|
||||
{
|
||||
// Arrange
|
||||
var expected = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute
|
||||
| UnixFileMode.GroupRead | UnixFileMode.GroupExecute
|
||||
| UnixFileMode.OtherRead | UnixFileMode.OtherExecute;
|
||||
var file = new ArchiveFile();
|
||||
|
||||
// Act
|
||||
file.SetPermissions("0755");
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expected, file.Permissions);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldSetCorrectPermissionsFromDecimal()
|
||||
{
|
||||
// Arrange
|
||||
var expected = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute
|
||||
| UnixFileMode.GroupRead | UnixFileMode.GroupExecute
|
||||
| UnixFileMode.OtherRead | UnixFileMode.OtherExecute;
|
||||
var file = new ArchiveFile();
|
||||
|
||||
// Act
|
||||
file.SetPermissions(493); // decimal for octal 0755
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expected, file.Permissions);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldSetPermissionsWithSpecialFlags()
|
||||
{
|
||||
// Arrange
|
||||
var expected = UnixFileMode.SetUser
|
||||
| UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute
|
||||
| UnixFileMode.GroupRead | UnixFileMode.GroupExecute
|
||||
| UnixFileMode.OtherRead | UnixFileMode.OtherExecute;
|
||||
var file = new ArchiveFile();
|
||||
|
||||
// Act
|
||||
file.SetPermissions("4755"); // setuid + 0755
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expected, file.Permissions);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ShouldIgnoreHighBytePermissions()
|
||||
{
|
||||
// Arrange
|
||||
int input = (1 << 20) | 493;
|
||||
var expected = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute
|
||||
| UnixFileMode.GroupRead | UnixFileMode.GroupExecute
|
||||
| UnixFileMode.OtherRead | UnixFileMode.OtherExecute;
|
||||
var file = new ArchiveFile();
|
||||
|
||||
// Act
|
||||
file.SetPermissions(input);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expected, file.Permissions);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user