public void DeepEquals() { ISymbolStore storeA = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); ISymbolStore storeB = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); Assert.True(storeA.DeepEquals(storeB)); Assert.True(storeB.DeepEquals(storeA)); }
public async Task FindFile_EmptyBuildIdAsync() { ISymbolStore store = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); IFileReference fileReference = await store.FindFileAsync(FILENAME, BuildId.Empty, true, log); Assert.Null(fileReference); StringAssert.Contains(Strings.FailedToSearchStadiaStore(FILENAME, Strings.EmptyBuildId), log.ToString()); }
public async Task FindFile_HttpRequestExceptionAsync() { _crashReportClient.GenerateSymbolFileDownloadUrlAsync(BUILD_ID.ToHexString(), FILENAME) .Returns(_urlInStore); _fakeHttpMessageHandler.ExceptionMap[new Uri(_urlInStore)] = new HttpRequestException("message"); ISymbolStore store = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); IFileReference fileReference = await store.FindFileAsync(FILENAME, BUILD_ID, true, log); Assert.Null(fileReference); StringAssert.Contains(Strings.FailedToSearchStadiaStore(FILENAME, "message"), log.ToString()); }
public async Task FindFile_HttpNotFoundAsync() { _crashReportClient.GenerateSymbolFileDownloadUrlAsync(BUILD_ID.ToHexString(), FILENAME) .Returns(_urlInStore); // By default, HTTP client returns Not Found for every file. ISymbolStore store = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); IFileReference fileReference = await store.FindFileAsync(FILENAME, BUILD_ID, true, log); Assert.Null(fileReference); StringAssert.Contains( Strings.FileNotFoundInStadiaStore(BUILD_ID.ToHexString(), FILENAME), log.ToString()); }
public async Task FindFile_APIExceptionAsync() { var ex = new CloudException( "Failed to generate download URL: permission denied", new RpcException(new Status(StatusCode.PermissionDenied, "message"))); _crashReportClient.GenerateSymbolFileDownloadUrlAsync(BUILD_ID.ToHexString(), FILENAME) .Returns(x => Task.FromException <string>(ex)); ISymbolStore store = new StadiaSymbolStore(fakeFileSystem, _httpClient, _crashReportClient); IFileReference fileReference = await store.FindFileAsync(FILENAME, BUILD_ID, true, log); Assert.Null(fileReference); StringAssert.Contains(Strings.FailedToSearchStadiaStore(FILENAME, ex.Message), log.ToString()); }