Add stream extensions test.

This commit is contained in:
Jared Goodwin 2022-07-21 18:44:59 -07:00
parent cedb8281cb
commit 273b1abd5d
5 changed files with 74 additions and 2 deletions

View File

@ -53,6 +53,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.Win.Tests", "Tests\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0754E195-7080-4AAC-B5A3-A9923B1283CE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.Tests", "Tests\Shared.Tests\Shared.Tests.csproj", "{B6C1030D-1F74-4143-BB70-FC79C0274653}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -195,6 +197,18 @@ Global
{162C54FB-FEEC-490B-9105-103AD30A10F7}.Release|x64.Build.0 = Release|Any CPU
{162C54FB-FEEC-490B-9105-103AD30A10F7}.Release|x86.ActiveCfg = Release|Any CPU
{162C54FB-FEEC-490B-9105-103AD30A10F7}.Release|x86.Build.0 = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|x64.ActiveCfg = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|x64.Build.0 = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|x86.ActiveCfg = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Debug|x86.Build.0 = Debug|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|Any CPU.Build.0 = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|x64.ActiveCfg = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|x64.Build.0 = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|x86.ActiveCfg = Release|Any CPU
{B6C1030D-1F74-4143-BB70-FC79C0274653}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -203,6 +217,7 @@ Global
{48D9D0E6-5781-44A9-84C0-56F56C2A1193} = {0754E195-7080-4AAC-B5A3-A9923B1283CE}
{6C25240C-613D-4A86-A04E-784BA6726094} = {0754E195-7080-4AAC-B5A3-A9923B1283CE}
{162C54FB-FEEC-490B-9105-103AD30A10F7} = {0754E195-7080-4AAC-B5A3-A9923B1283CE}
{B6C1030D-1F74-4143-BB70-FC79C0274653} = {0754E195-7080-4AAC-B5A3-A9923B1283CE}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EAE10B28-119B-437C-9E68-06F0EE3F968A}

View File

@ -43,7 +43,7 @@ namespace Server.Installer.Services
using var httpClient = new HttpClient();
var response = await httpClient.GetAsync(releaseFile);
var contentLength = (double?)response.Content.Headers.ContentLength;
var contentLength = response.Content.Headers.ContentLength;
using var webStream = await response.Content.ReadAsStreamAsync();
using var fileStream = new FileStream(zipPath, FileMode.Create);
@ -59,7 +59,7 @@ namespace Server.Installer.Services
}
var newProgress = bytesRead / contentLength * 100;
var newProgress = (double)bytesRead / contentLength * 100;
if (newProgress == 100 ||
newProgress - progress > 5)

View File

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<AssemblyName>Remotely.Shared.Tests</AssemblyName>
<RootNamespace>Remotely.Shared.Tests</RootNamespace>
</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="..\..\Shared\Shared.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,30 @@
using System.Security.Cryptography;
using Remotely.Shared.Extensions;
namespace Remotely.Shared.Tests
{
[TestClass]
public class StreamExtensionsTests
{
[TestMethod]
public async Task CopyToAsyncTest()
{
var bufferSize = 500_000;
var srcBuffer = new byte[bufferSize];
RandomNumberGenerator.Fill(srcBuffer);
using var src = new MemoryStream(srcBuffer);
using var dst = new MemoryStream();
var amounts = new List<int>();
await src.CopyToAsync(dst, bytesRead =>
{
amounts.Add(bytesRead);
});
Assert.IsTrue(amounts.Any());
Assert.AreEqual(bufferSize, amounts.Last());
}
}
}

View File

@ -0,0 +1 @@
global using Microsoft.VisualStudio.TestTools.UnitTesting;