Я реализовал Spring Security в своем приложении Spring Boot, и я получаю учетные данные пользователя из Hashicorp Vault. Я могу подключиться к хранилию Hashicorp, используя шаблон хранилища Spring Vault и успешно получить ответ хранилища. Вот как выглядит ответ (его массив хэшмапов) < /p>
//VaultResponse output structure
[
data: {
password: someVal,
username: user,
db.password: somePass,
db.username: user
},
metadata: {
created_time: 2025-01-01,
custom_metadata: null,
detection_time: ,
destroyed: false,
version: 7
}
]
< /code>
Я создал Hashmap точного набора данных и добавлен в ArrayList и ожидает, что эти данные будут возвращены при надведении Pvaultresponse, но вместо этого Vaultreponse.data всегда возвращается как NULL. < /p>
@Test
public void loadUserByUsername_TestSuccess()
{
VaultResponse mockResponse = Mockito.mock(VaultResponse.class);
Map dataMap = new HashMap();
dataMap.put("password", "someVal");
dataMap.put("username", "user");
dataMap.put("db.password", "somePass");
dataMap.put("db.username", "user");
// Create the nested 'metadata' map
Map metadataMap = new HashMap();
metadataMap.put("created_time", "2025-01-01");
metadataMap.put("custom_metadata", null);
metadataMap.put("detection_time", "");
metadataMap.put("destroyed", false);
metadataMap.put("version", 7);
// Create a List to hold the dataMap and metadataMap
List responseList = new ArrayList();
responseList.add(dataMap);
responseList.add(metadataMap);
//**VaultResponse.data is always coming back as null**
when(mockResponse.getData()).thenReturn(responseList);
Issue:
What am I doing wrong here? How can I mock VaultResponse.class to return the needed response structure?
Thank you
Подробнее здесь: https://stackoverflow.com/questions/795 ... eturns-nul