Skip to content

Commit

Permalink
Removing statusCode from the UTG telemetry event
Browse files Browse the repository at this point in the history
  • Loading branch information
laileni-aws committed Dec 14, 2024
1 parent f5e043e commit 9a04527
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 79 deletions.
38 changes: 13 additions & 25 deletions packages/core/src/amazonqTest/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,69 +11,57 @@ export class TestGenError extends ToolkitError {
constructor(
error: string,
code: string,
public statusCode: number,
public uiMessage: string
) {
super(error, { code })
}
}
export class ProjectZipError extends TestGenError {
constructor(error: string) {
super(error, 'ProjectZipError', 400, defaultTestGenErrorMessage)
super(error, 'ProjectZipError', defaultTestGenErrorMessage)
}
}
export class InvalidSourceZipError extends TestGenError {
constructor() {
super('Failed to create valid source zip', 'InvalidSourceZipError', 400, defaultTestGenErrorMessage)
super('Failed to create valid source zip', 'InvalidSourceZipError', defaultTestGenErrorMessage)
}
}
export class CreateUploadUrlError extends TestGenError {
constructor(errorMessage: string, errorCode: number) {
super(errorMessage, 'CreateUploadUrlError', errorCode, technicalErrorCustomerFacingMessage)
constructor(errorMessage: string) {
super(errorMessage, 'CreateUploadUrlError', technicalErrorCustomerFacingMessage)
}
}
export class UploadTestArtifactToS3Error extends TestGenError {
constructor(error: string, statusCode?: number) {
super(error, 'UploadTestArtifactToS3Error', statusCode ?? 400, technicalErrorCustomerFacingMessage)
constructor(error: string) {
super(error, 'UploadTestArtifactToS3Error', technicalErrorCustomerFacingMessage)
}
}
export class CreateTestJobError extends TestGenError {
constructor(error: string, statusCode: number) {
super(error, 'CreateTestJobError', statusCode, technicalErrorCustomerFacingMessage)
constructor(error: string) {
super(error, 'CreateTestJobError', technicalErrorCustomerFacingMessage)
}
}
export class TestGenTimedOutError extends TestGenError {
constructor() {
super(
'Test generation failed. Amazon Q timed out.',
'TestGenTimedOutError',
500,
technicalErrorCustomerFacingMessage
)
}
}
export class TestGenStoppedError extends TestGenError {
constructor() {
super('Unit test generation cancelled.', 'TestGenCancelled', 400, 'Unit test generation cancelled.')
super('Unit test generation cancelled.', 'TestGenCancelled', 'Unit test generation cancelled.')
}
}
export class TestGenFailedError extends TestGenError {
constructor(statusCode: number, error?: string) {
super(
error ?? 'Test generation failed',
'TestGenFailedError',
statusCode,
error ?? technicalErrorCustomerFacingMessage
)
constructor(error?: string) {
super(error ?? 'Test generation failed', 'TestGenFailedError', error ?? technicalErrorCustomerFacingMessage)
}
}
export class ExportResultsArchiveError extends TestGenError {
constructor(error?: string, statusCode?: number) {
super(
error ?? 'Test generation failed',
'ExportResultsArchiveError',
statusCode ?? 400,
technicalErrorCustomerFacingMessage
)
constructor(error?: string) {
super(error ?? 'Test generation failed', 'ExportResultsArchiveError', technicalErrorCustomerFacingMessage)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export async function startTestGenerationProcess(
// TODO: Send status to test summary
if (jobStatus === TestGenerationJobStatus.FAILED) {
logger.verbose(`Test generation failed.`)
throw new TestGenFailedError(500)
throw new TestGenFailedError()
}
throwIfCancelled()
if (!shouldContinueRunning(tabID)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,9 +384,7 @@ export async function uploadArtifactToS3(
} else {
errorMessage = errorDesc ?? defaultMessage
}
throw isCodeScan
? new UploadArtifactToS3Error(errorMessage)
: new UploadTestArtifactToS3Error(errorMessage, (error as any).statusCode)
throw isCodeScan ? new UploadArtifactToS3Error(errorMessage) : new UploadTestArtifactToS3Error(errorMessage)
}
}

Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/codewhisperer/service/testGenHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export async function getPresignedUrlAndUploadTestGen(zipMetadata: ZipMetadata)
logger.verbose(`Prepare for uploading src context...`)
const srcResp = await codeWhisperer.codeWhispererClient.createUploadUrl(srcReq).catch((err) => {
getLogger().error(`Failed getting presigned url for uploading src context. Request id: ${err.requestId}`)
throw new CreateUploadUrlError(err.message, err.code)
throw new CreateUploadUrlError(err.message)
})
logger.verbose(`CreateUploadUrlRequest requestId: ${srcResp.$response.requestId}`)
logger.verbose(`Complete Getting presigned Url for uploading src context.`)
Expand Down Expand Up @@ -104,7 +104,7 @@ export async function createTestJob(
const resp = await codewhispererClient.codeWhispererClient.startTestGeneration(req).catch((err) => {
ChatSessionManager.Instance.getSession().startTestGenerationRequestId = err.requestId
logger.error(`Failed creating test job. Request id: ${err.requestId}`)
throw new CreateTestJobError(err.message, err.statusCode)
throw new CreateTestJobError(err.message)
})
logger.info('Unit test generation request id: %s', resp.$response.requestId)
logger.debug('Unit test generation data: %O', resp.$response.data)
Expand Down Expand Up @@ -159,7 +159,7 @@ export async function pollTestJobStatus(
// Stop the Unit test generation workflow if IDE receive stopIteration = true
if (shortAnswer.stopIteration === 'true') {
session.stopIteration = true
throw new TestGenFailedError(400, shortAnswer.planSummary)
throw new TestGenFailedError(shortAnswer.planSummary)
}
if (shortAnswer.numberOfTestMethods) {
session.numberOfTestsGenerated = Number(shortAnswer.numberOfTestMethods)
Expand Down Expand Up @@ -297,7 +297,7 @@ export async function downloadResultArchive(
} catch (e: any) {
downloadErrorMessage = (e as Error).message
getLogger().error(`Unit Test Generation: ExportResultArchive error = ${downloadErrorMessage}`)
throw new ExportResultsArchiveError(downloadErrorMessage, e.statusCode)
throw new ExportResultsArchiveError(downloadErrorMessage)
} finally {
cwStreamingClient.destroy()
}
Expand Down
Loading

0 comments on commit 9a04527

Please sign in to comment.