feat(check): stub /check/check_time_slip_card_master_hash
Bare BaseTask call fired from DeckDecisionUI.cs:140 (Arena "View Deck" path) and the TK2 prep screen. Client task has no Parse() override — just checks result_code, ignores body. Prod (4 captured instances across traffic_prod_taketwo_selections + traffic_prod_tradeables_capture) unanimously responds with data: []. Routing smoke added. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ using SVSim.Database.Repositories.Viewer;
|
|||||||
using SVSim.EmulatedEntrypoint.Extensions;
|
using SVSim.EmulatedEntrypoint.Extensions;
|
||||||
using SVSim.EmulatedEntrypoint.Models.Dtos;
|
using SVSim.EmulatedEntrypoint.Models.Dtos;
|
||||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
|
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
|
||||||
|
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests.Check;
|
||||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses;
|
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses;
|
||||||
|
|
||||||
namespace SVSim.EmulatedEntrypoint.Controllers;
|
namespace SVSim.EmulatedEntrypoint.Controllers;
|
||||||
@@ -67,4 +68,19 @@ public class CheckController : SVSimController
|
|||||||
KorAuthorityId = 0
|
KorAuthorityId = 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Card-master rotation-period integrity probe. Wire path is
|
||||||
|
/// <c>check/check_time_slip_card_master_hash</c> but the client task is
|
||||||
|
/// <c>CheckTimeSlipRotationPeriodTask</c> — a pure <c>BaseTask</c> with no
|
||||||
|
/// <c>Parse()</c> override (Wizard/CheckTimeSlipRotationPeriodTask.cs). Fired from
|
||||||
|
/// <c>DeckDecisionUI.cs:140</c> (Arena "View Deck" path) and the TK2 prep screen.
|
||||||
|
/// Prod responds with <c>data: []</c> in every observed capture across
|
||||||
|
/// traffic_prod_taketwo_selections.ndjson + traffic_prod_tradeables_capture.ndjson.
|
||||||
|
/// </summary>
|
||||||
|
[HttpPost("check_time_slip_card_master_hash")]
|
||||||
|
public IActionResult CheckTimeSlipCardMasterHash([FromBody] CheckTimeSlipCardMasterHashRequest req)
|
||||||
|
{
|
||||||
|
return Ok(Array.Empty<object>());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
using MessagePack;
|
||||||
|
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
|
||||||
|
|
||||||
|
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Requests.Check;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Empty request envelope. Prod ships only the standard BaseRequest fields
|
||||||
|
/// (viewer_id / steam_id / steam_session_ticket) — verified in
|
||||||
|
/// traffic_prod_taketwo_selections.ndjson + traffic_prod_tradeables_capture.ndjson.
|
||||||
|
/// </summary>
|
||||||
|
[MessagePackObject]
|
||||||
|
public class CheckTimeSlipCardMasterHashRequest : BaseRequest { }
|
||||||
@@ -111,6 +111,7 @@ public class RoutingSmokeTests
|
|||||||
[TestCase("/arena_colosseum/get_fee_info")]
|
[TestCase("/arena_colosseum/get_fee_info")]
|
||||||
[TestCase("/arena/get_challenge_info")]
|
[TestCase("/arena/get_challenge_info")]
|
||||||
[TestCase("/arena/get_challenge_ranking_history")]
|
[TestCase("/arena/get_challenge_ranking_history")]
|
||||||
|
[TestCase("/check/check_time_slip_card_master_hash")]
|
||||||
public async Task Authenticated_route_resolves(string path)
|
public async Task Authenticated_route_resolves(string path)
|
||||||
{
|
{
|
||||||
using var factory = new TestFactory();
|
using var factory = new TestFactory();
|
||||||
|
|||||||
Reference in New Issue
Block a user