From 799d50024cd01b020255000843d01d34a111f95a Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 3 Jun 2026 16:51:07 -0400 Subject: [PATCH] test(android): RenderingControl lower clamp + GetVolume request body checks Co-Authored-By: Claude Sonnet 4.6 --- .../output/upnp/RenderingControlClientTest.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt b/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt index 55d6763a..76e78610 100644 --- a/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt +++ b/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt @@ -37,6 +37,13 @@ class RenderingControlClientTest { """.trimIndent())) assertEquals(42, client.getVolume()) + val request = server.takeRequest() + val body = request.body.readUtf8() + assertTrue(body.contains("Master")) { body } + assertEquals( + "\"urn:schemas-upnp-org:service:RenderingControl:1#GetVolume\"", + request.getHeader("SOAPACTION"), + ) } @Test @@ -53,4 +60,19 @@ class RenderingControlClientTest { val body = server.takeRequest().body.readUtf8() assertTrue(body.contains("100")) { body } } + + @Test + fun `setVolume clamps below VOLUME_MIN to zero`() = runTest { + server.enqueue(MockResponse().setBody( + """ + + + + + """.trimIndent())) + client.setVolume(-5) + val body = server.takeRequest().body.readUtf8() + assertTrue(body.contains("0")) { body } + } }