mirror of https://github.com/dahall/Vanara.git
Tests and fixes to additions to BITS
parent
da5f3d4ee8
commit
0407e8007f
|
@ -56,7 +56,11 @@ public class CachePeers : IReadOnlyCollection<CachePeer>
|
|||
/// <inheritdoc/>
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
|
||||
private IEnumerable<CachePeer> EnumPeers() => IEnumFromCom<IBitsPeer>.Create(iCacheAdmin.EnumPeers()).Select(i => new CachePeer(i));
|
||||
private IEnumerable<CachePeer> EnumPeers()
|
||||
{
|
||||
IEnumBitsPeers ienum = iCacheAdmin.EnumPeers();
|
||||
return ienum is null ? Enumerable.Empty<CachePeer>() : IEnumFromCom<IBitsPeer>.Create(ienum).Select(i => new CachePeer(i));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Use <c>PeerCacheAdministration</c> to manage the pool of peers from which you can download content.</summary>
|
||||
|
@ -110,8 +114,8 @@ public class PeerCacheAdministration
|
|||
/// Null-terminated string that contains the URL of the file whose cache records and file you want to delete from the cache.
|
||||
/// </param>
|
||||
public void DeleteUrl(string url) => ciCacheAdmin.Item.DeleteUrl(url);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>Provides the ability to enumerate the records of the cache.</summary>
|
||||
public class PeerCacheRecords : IReadOnlyCollection<PeerCacheRecord>
|
||||
{
|
||||
|
@ -136,13 +140,19 @@ public class PeerCacheRecords : IReadOnlyCollection<PeerCacheRecord>
|
|||
|
||||
/// <summary>Deletes a record and file from the cache.</summary>
|
||||
/// <param name="item">The record to delete from the cache.</param>
|
||||
public bool Remove(PeerCacheRecord item) { try { iCacheAdmin.DeleteRecord(item.Id); return true; } catch { return false; } }
|
||||
public bool Remove(PeerCacheRecord item)
|
||||
{ try { iCacheAdmin.DeleteRecord(item.Id); return true; } catch { return false; } }
|
||||
|
||||
/// <inheritdoc/>
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
|
||||
private IEnumerable<PeerCacheRecord> EnumRecords() => IEnumFromCom<IBitsPeerCacheRecord>.Create(iCacheAdmin.EnumRecords()).Select(i => new PeerCacheRecord(i));
|
||||
private IEnumerable<PeerCacheRecord> EnumRecords()
|
||||
{
|
||||
IEnumBitsPeerCacheRecords ienum = iCacheAdmin.EnumRecords();
|
||||
return ienum is null ? Enumerable.Empty<PeerCacheRecord>() : IEnumFromCom<IBitsPeerCacheRecord>.Create(ienum).Select(i => new PeerCacheRecord(i));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Provides information about a file in the BITS peer cache.</summary>
|
||||
public class PeerCacheRecord
|
||||
{
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Security.Principal;
|
||||
|
||||
namespace Vanara.IO.Tests;
|
||||
|
||||
partial class BackgroundCopyTests
|
||||
{
|
||||
[Test]
|
||||
public void PeerTest()
|
||||
{
|
||||
uint sz;
|
||||
Assert.That(sz = BackgroundCopyManager.PeerCacheAdministration.MaximumCacheSize, Is.GreaterThanOrEqualTo(0U));
|
||||
Assert.That(BackgroundCopyManager.PeerCacheAdministration.MaximumCacheSize += 256U, Is.EqualTo(sz + 256U));
|
||||
|
||||
TimeSpan age;
|
||||
Assert.That(age = BackgroundCopyManager.PeerCacheAdministration.MaximumContentAge, Is.GreaterThanOrEqualTo(TimeSpan.Zero));
|
||||
Assert.That(BackgroundCopyManager.PeerCacheAdministration.MaximumContentAge += TimeSpan.FromSeconds(600), Is.EqualTo(age + TimeSpan.FromSeconds(600)));
|
||||
|
||||
PeerCaching pc = BackgroundCopyManager.PeerCacheAdministration.ConfigurationFlags;
|
||||
Assert.That(pc == 0 || Enum.IsDefined(typeof(PeerCaching), pc));
|
||||
Assert.That(BackgroundCopyManager.PeerCacheAdministration.ConfigurationFlags = PeerCaching.Enable, Is.EqualTo(PeerCaching.Enable));
|
||||
|
||||
Assert.That(BackgroundCopyManager.PeerCacheAdministration.Peers, Is.Unique);
|
||||
Assert.That(BackgroundCopyManager.PeerCacheAdministration.Records, Is.Unique);
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@
|
|||
<SupportedPlatform Include="windows" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NUnit" Version="3.13.2" />
|
||||
<PackageReference Include="NUnit" Version="3.13.3" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
Loading…
Reference in New Issue