mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 22:44:29 +01:00
Fixing CheckNoDeadLink test now that btse blocks our call from circleci
This commit is contained in:
@@ -12,5 +12,12 @@ namespace BTCPayServer.Client
|
|||||||
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/stores"), token);
|
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/stores"), token);
|
||||||
return await HandleResponse<IEnumerable<StoreData>>(response);
|
return await HandleResponse<IEnumerable<StoreData>>(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual async Task<StoreData> GetStore(string storeId, CancellationToken token = default)
|
||||||
|
{
|
||||||
|
var response = await _httpClient.SendAsync(
|
||||||
|
CreateHttpRequest($"api/v1/stores/{storeId}"), token);
|
||||||
|
return await HandleResponse<StoreData>(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ namespace BTCPayServer.Client
|
|||||||
foreach (KeyValuePair<string, object> keyValuePair in payload)
|
foreach (KeyValuePair<string, object> keyValuePair in payload)
|
||||||
{
|
{
|
||||||
UriBuilder uriBuilder = uri;
|
UriBuilder uriBuilder = uri;
|
||||||
if (keyValuePair.Value.GetType().GetInterfaces().Contains((typeof(IEnumerable))))
|
if (!(keyValuePair.Value is string) && keyValuePair.Value.GetType().GetInterfaces().Contains((typeof(IEnumerable))))
|
||||||
{
|
{
|
||||||
foreach (var item in (IEnumerable)keyValuePair.Value)
|
foreach (var item in (IEnumerable)keyValuePair.Value)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -168,10 +168,17 @@ namespace BTCPayServer.Tests
|
|||||||
user.GrantAccess();
|
user.GrantAccess();
|
||||||
await user.MakeAdmin();
|
await user.MakeAdmin();
|
||||||
var client = await user.CreateClient(Policies.Unrestricted);
|
var client = await user.CreateClient(Policies.Unrestricted);
|
||||||
|
|
||||||
|
//list stores
|
||||||
var stores = await client.GetStores();
|
var stores = await client.GetStores();
|
||||||
Assert.NotNull(stores);
|
Assert.NotNull(stores);
|
||||||
Assert.Single(stores);
|
Assert.Single(stores);
|
||||||
Assert.Equal(user.StoreId,stores.First().Id);
|
Assert.Equal(user.StoreId,stores.First().Id);
|
||||||
|
|
||||||
|
//get store
|
||||||
|
var store = await client.GetStore(user.StoreId);
|
||||||
|
Assert.Equal(user.StoreId,store.Id);
|
||||||
|
Assert.Equal(store.Name,stores.First().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using BTCPayServer.Client;
|
||||||
using BTCPayServer.Security;
|
using BTCPayServer.Security;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using BTCPayServer.Client;
|
|
||||||
|
|
||||||
namespace BTCPayServer.Controllers.RestApi
|
namespace BTCPayServer.Controllers.GreenField
|
||||||
{
|
{
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize(AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
[Authorize(AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
@@ -15,10 +15,22 @@ namespace BTCPayServer.Controllers.RestApi
|
|||||||
[HttpGet("~/api/v1/stores")]
|
[HttpGet("~/api/v1/stores")]
|
||||||
public ActionResult<IEnumerable<Client.Models.StoreData>> GetStores()
|
public ActionResult<IEnumerable<Client.Models.StoreData>> GetStores()
|
||||||
{
|
{
|
||||||
var stores = this.HttpContext.GetStoresData();
|
var stores = HttpContext.GetStoresData();
|
||||||
return Ok(stores.Select(FromModel));
|
return Ok(stores.Select(FromModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Authorize(Policy = Policies.CanViewStoreSettings, AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
|
[HttpGet("~/api/v1/stores/{storeId}")]
|
||||||
|
public ActionResult<Client.Models.StoreData> GetStore(string storeId)
|
||||||
|
{
|
||||||
|
var store = HttpContext.GetStoreData();
|
||||||
|
if (store == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
return Ok(FromModel(store));
|
||||||
|
}
|
||||||
|
|
||||||
private static Client.Models.StoreData FromModel(Data.StoreData data)
|
private static Client.Models.StoreData FromModel(Data.StoreData data)
|
||||||
{
|
{
|
||||||
return new Client.Models.StoreData()
|
return new Client.Models.StoreData()
|
||||||
Reference in New Issue
Block a user