Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,33 @@ private static Map<String, Map<String, Map<String, Object>>> loadFromFile(String
if (path == null) {
return new HashMap<>();
}
File file = new File(path);
if (!file.exists()) {
return new HashMap<>();
}
try {
Map<String, Map<String, Map<String, Object>>> loaded =
mapper.readValue(
file,
new TypeReference<Map<String, Map<String, Map<String, Object>>>>() {});
Map<String, Map<String, Map<String, Object>>> loaded;
if (path.startsWith("classpath:")) {
String resource = path.substring("classpath:".length());
java.io.InputStream is =
AgentAuthManager.class.getClassLoader().getResourceAsStream(resource);
if (is == null) {
log.warn("[Auth] Classpath resource not found: {}", resource);
return new HashMap<>();
}
loaded =
mapper.readValue(
is,
new TypeReference<
Map<String, Map<String, Map<String, Object>>>>() {});
} else {
File file = new File(path);
if (!file.exists()) {
log.warn("[Auth] Credentials file not found: {}", path);
return new HashMap<>();
}
loaded =
mapper.readValue(
file,
new TypeReference<
Map<String, Map<String, Map<String, Object>>>>() {});
}
log.info("[Auth] Loaded credentials for {} agent(s) from {}", loaded.size(), path);
return loaded;
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,32 @@ void loadsCredentialsFromClasspathLocation() throws Exception {
config.get("bearerAuth").get("login_url"));
}

@Test
void loadsCredentialsFromClasspathPrefix() {
AgentAuthManager manager =
new AgentAuthManager("classpath:test-agent-credentials.json");

var config = manager.getConfig("Test Agent");

assertNotNull(config);
assertEquals(
"https://auth.example.test/token",
config.get("bearerAuth").get("login_url"));
}

@Test
void missingFileDoesNotCreateCredentials() {
AgentAuthManager manager =
new AgentAuthManager("/nonexistent/missing-agent-credentials.json");

assertNull(manager.getConfig("Test Agent"));
}

@Test
void missingClasspathResourceDoesNotCreateCredentials() {
AgentAuthManager manager =
new AgentAuthManager("classpath:nonexistent-credentials.json");

assertNull(manager.getConfig("Test Agent"));
}
}
Loading