Radarr/src/NzbDrone.Mono.Test/DiskProviderTests/DiskProviderFixture.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2015-02-04 00:10:16 +00:00
using System;
using Mono.Unix;
using NUnit.Framework;
using NzbDrone.Common.Test.DiskTests;
2016-08-12 03:30:18 +00:00
using NzbDrone.Mono.Disk;
namespace NzbDrone.Mono.Test.DiskProviderTests
{
[TestFixture]
[Platform("Mono")]
public class DiskProviderFixture : DiskProviderFixtureBase<DiskProvider>
{
public DiskProviderFixture()
{
2014-03-14 10:15:30 +00:00
MonoOnly();
}
protected override void SetWritePermissions(string path, bool writable)
{
2015-02-04 00:10:16 +00:00
if (Environment.UserName == "root")
{
Assert.Inconclusive("Need non-root user to test write permissions.");
}
// Remove Write permissions, we're still owner so we can clean it up, but we'll have to do that explicitly.
var entry = UnixFileSystemInfo.GetFileSystemEntry(path);
if (writable)
{
entry.FileAccessPermissions |= FileAccessPermissions.UserWrite | FileAccessPermissions.GroupWrite | FileAccessPermissions.OtherWrite;
}
else
{
entry.FileAccessPermissions &= ~(FileAccessPermissions.UserWrite | FileAccessPermissions.GroupWrite | FileAccessPermissions.OtherWrite);
}
}
}
}