Integration tests project (#2083)

Move integration tests into their own project. This makes it easier to run unit tests if you don't want to (or don't have) `azurite` running, since you can `dotnet test` just that directory.

Also add a check into the `AzuriteStorage` class that will abort the entire test run if `azurite` is not running, which is simpler than reading lots of socket exceptions.
This commit is contained in:
George Pollard
2022-06-28 09:14:51 +12:00
committed by GitHub
parent 0259759407
commit 2eae1793ad
20 changed files with 2250 additions and 33 deletions

View File

@ -0,0 +1,19 @@
using System.Threading.Tasks;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.OneFuzz.Service;
using Async = System.Threading.Tasks;
namespace IntegrationTests.Fakes;
sealed class TestUserCredentials : UserCredentials {
private readonly OneFuzzResult<UserInfo> _tokenResult;
public TestUserCredentials(ILogTracer log, IConfigOperations instanceConfig, OneFuzzResult<UserInfo> tokenResult)
: base(log, instanceConfig) {
_tokenResult = tokenResult;
}
public override Task<OneFuzzResult<UserInfo>> ParseJwtToken(HttpRequestData req) => Async.Task.FromResult(_tokenResult);
}