mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
Add stream extensions test.
This commit is contained in:
parent
cedb8281cb
commit
273b1abd5d
15
Remotely.sln
15
Remotely.sln
@ -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}
|
||||
|
||||
@ -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)
|
||||
|
||||
26
Tests/Shared.Tests/Shared.Tests.csproj
Normal file
26
Tests/Shared.Tests/Shared.Tests.csproj
Normal 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>
|
||||
30
Tests/Shared.Tests/StreamExtensionsTests.cs
Normal file
30
Tests/Shared.Tests/StreamExtensionsTests.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Tests/Shared.Tests/Usings.cs
Normal file
1
Tests/Shared.Tests/Usings.cs
Normal file
@ -0,0 +1 @@
|
||||
global using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
Loading…
Reference in New Issue
Block a user