Skip to content

Commit e296231

Browse files
authored
Merge pull request #385 from LossyDragon/buildcommand-test
Add test for recent pr
2 parents bac631b + fe2d09d commit e296231

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/main/java/in/dragonbra/javasteam/steam/cdn/Client.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ class Client(steamClient: SteamClient) : Closeable {
3838

3939
private val logger: Logger = LogManager.getLogger(Client::class.java)
4040

41-
private fun buildCommand(
41+
@JvmStatic
42+
fun buildCommand(
4243
server: Server,
4344
command: String,
4445
query: String? = null,

src/test/java/in/dragonbra/javasteam/steam/cdn/CDNClientTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,21 @@ public void testPrivateIPv6Addresses(String ipAddress, boolean expected) throws
176176
boolean result = ClientLancache.isPrivateAddress(address);
177177
Assertions.assertEquals(expected, result);
178178
}
179+
180+
@ParameterizedTest
181+
@CsvSource({
182+
"token=abc, token, ", // normal, no change
183+
"?token=abc, token, ?token", // leading ? stripped
184+
"??token=abc, token, ??token", // multiple leading ? stripped
185+
"?token=abc&foo=bar, token, ?token", // leading ? with multiple params
186+
})
187+
public void buildCommandStripsLeadingQuestionMarkFromQueryString(String query, String expectedKey, String unexpectedKey) {
188+
var server = Server.fromHostAndPort("localhost", 80);
189+
HttpUrl url = Client.buildCommand(server, "depot/731/manifest", query, null);
190+
191+
Assertions.assertNotNull(url.queryParameter(expectedKey));
192+
if (unexpectedKey != null) {
193+
Assertions.assertNull(url.queryParameter(unexpectedKey));
194+
}
195+
}
179196
}

0 commit comments

Comments
 (0)