मैं वर्तमान में हूँ के प्रयास में नकली एडब्ल्यूएस SecretsManager के लिए मेरी यूनिट परीक्षण के साथ मज़ाक है, और हर मैं कर रहा हूँ के साथ मारा ConfigError
मेरे कोड कुछ इस तरह
//index.ts
import SM from "aws-sdk/clients/secretsmanager"
const secretManagerClient = new SM()
...
export const randomMethod = async (a: string, b: string) => {
let secret
const personalToken = {
SecretId: process.env.secretId,
}
secretManagerClient
.getSecretValue(personalToken, (err, data) => {
if (err) {
console.error(`[SECRETS MANAGER] Error fetching personal token : ${err}`)
} else if (data && data.SecretString) {
secret = data.SecretString
}
})
}
मेरे मॉक इस तरह चला जाता है :
//index.test.js
const mockGetSecretValue = jest.fn((SecretId) => {
switch (SecretId) {
case process.env.GITHUB_PERSONAL_TOKEN:
return {
SecretString: process.env.GITHUB_PERSONAL_TOKEN_VALUE,
}
default:
throw Error("secret not found")
}
})
jest.mock("aws-sdk/clients/secretsmanager", () => {
return jest.fn(() => {
return {
getSecretValue: jest.fn(({ SecretId }) => {
return mockGetSecretValue(SecretId)
}),
promise: jest.fn(),
}
})
})
हालांकि, मैं इस त्रुटि मिलती है मुझ पर फेंक दिया : ConfigError: Missing region in config
है , जो मैं समझ में कुछ हद तक, लेकिन मुझे समझ नहीं आता क्यों यह तब होता है में यहाँ मजाक हिस्सा...
अग्रिम में धन्यवाद!
संपादित करें: के लिए धन्यवाद 1 जवाब है, मैं कामयाब होने से रोकने के लिए इस त्रुटि है । हालांकि, getSecretValue()
विधि नहीं लौटने गुप्त मूल्य मैं करना चाहते हैं.
randomMethod()
, और मैं कोशिश कर रहा हूँ करने के लिए लिंक है कि विधि के लिए इस मज़ाक उड़ाया SecretsManager उदाहरण है, और नहीं होने के बावजूद विन्यास त्रुटि अब और नहीं, केgetSecretValue()
नहीं लौटने गुप्त मैं करना चाहते हैं. मैं अद्यतन कोड से ऊपर है.