Skip to content

Commit

Permalink
Chore - updates
Browse files Browse the repository at this point in the history
- revert value conversion from _ and just conver key
- update definition for preValidation
- fix unit tests
  • Loading branch information
Nick Ardecky committed Dec 6, 2023
1 parent e27cccc commit 6c3cf26
Show file tree
Hide file tree
Showing 10 changed files with 36 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ private CodeTypeDeclaration GenerateEnumStruct(MetricType type)
allowedValue.Replace(" ", "_").ToPascalCase().Replace(".", "").Replace("-", ""))
{
InitExpression = new CodeObjectCreateExpression(type.GetGeneratedTypeName(),
new CodeExpression[] {new CodePrimitiveExpression(allowedValue.Replace(" ", "_"))}),
new CodeExpression[] {new CodePrimitiveExpression(allowedValue)}),
Attributes = MemberAttributes.Static | MemberAttributes.Public
};
field.Comments.Add(new CodeCommentStatement(allowedValue, true));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19395,29 +19395,29 @@ public struct CodeTransformPreValidationError

private string _value;

/// No pom.xml file found
public static readonly CodeTransformPreValidationError NoPomxmlFileFound = new CodeTransformPreValidationError("No_pom.xml_file_found");
/// NoPom
public static readonly CodeTransformPreValidationError NoPom = new CodeTransformPreValidationError("NoPom");

/// No Java project found
public static readonly CodeTransformPreValidationError NoJavaProjectFound = new CodeTransformPreValidationError("No_Java_project_found");
/// NoJavaProject
public static readonly CodeTransformPreValidationError NoJavaProject = new CodeTransformPreValidationError("NoJavaProject");

/// Mixed Java project and another language found
public static readonly CodeTransformPreValidationError MixedJavaProjectAndAnotherLanguageFound = new CodeTransformPreValidationError("Mixed_Java_project_and_another_language_found");
/// MixedLanguages
public static readonly CodeTransformPreValidationError MixedLanguages = new CodeTransformPreValidationError("MixedLanguages");

/// Project selected is not Java 8 or Java 11
public static readonly CodeTransformPreValidationError ProjectSelectedIsNotJava8OrJava11 = new CodeTransformPreValidationError("Project_selected_is_not_Java_8_or_Java_11");
/// UnsupportedJavaVersion
public static readonly CodeTransformPreValidationError UnsupportedJavaVersion = new CodeTransformPreValidationError("UnsupportedJavaVersion");

/// Only Maven projects supported
public static readonly CodeTransformPreValidationError OnlyMavenProjectsSupported = new CodeTransformPreValidationError("Only_Maven_projects_supported");
/// NonMavenProject
public static readonly CodeTransformPreValidationError NonMavenProject = new CodeTransformPreValidationError("NonMavenProject");

/// Empty project
public static readonly CodeTransformPreValidationError EmptyProject = new CodeTransformPreValidationError("Empty_project");
/// EmptyProject
public static readonly CodeTransformPreValidationError EmptyProject = new CodeTransformPreValidationError("EmptyProject");

/// Non SSO login
public static readonly CodeTransformPreValidationError NonSSOLogin = new CodeTransformPreValidationError("Non_SSO_login");
/// NonSsoLogin
public static readonly CodeTransformPreValidationError NonSsoLogin = new CodeTransformPreValidationError("NonSsoLogin");

/// Project running on backend
public static readonly CodeTransformPreValidationError ProjectRunningOnBackend = new CodeTransformPreValidationError("Project_running_on_backend");
/// RemoteRunProject
public static readonly CodeTransformPreValidationError RemoteRunProject = new CodeTransformPreValidationError("RemoteRunProject");

public CodeTransformPreValidationError(string value)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,15 @@ public void RecordMetricWithNewTransform()
/// <summary>
/// RecordCodeTransformIsDoubleClickedToTriggerInvalidProject was chosen as a sample call that has a
/// CodeTransformPreValidationError for allowedValues which have spaces in the values that
/// should be converted to underscores.
/// should be converted to underscores for the "key". This way the language interprets
/// the key value as pascal case and converts it.
/// </summary>
[Fact]
public void RecordWithAllowedValues()
{
var doubleClickRecord = new CodeTransformIsDoubleClickedToTriggerInvalidProject()
{
CodeTransformPreValidationError = CodeTransformPreValidationError.NoJavaProjectFound,
CodeTransformPreValidationError = CodeTransformPreValidationError.NoJavaProject,
CodeTransformSessionId = "test-session-id",
Result = Result.Succeeded
};
Expand All @@ -248,7 +249,7 @@ public void RecordWithAllowedValues()
Assert.True(datum.Metadata.ContainsKey("codeTransformSessionId"));
Assert.Equal("test-session-id", datum.Metadata["codeTransformSessionId"]);
Assert.True(datum.Metadata.ContainsKey("codeTransformPreValidationError"));
Assert.Equal("No_Java_project_found", datum.Metadata["codeTransformPreValidationError"]);
Assert.Equal("NoJavaProject", datum.Metadata["codeTransformPreValidationError"]);
}

private MetricDatum TransformDuplicateReason(MetricDatum datum)
Expand Down
16 changes: 8 additions & 8 deletions telemetry/definitions/commonDefinitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -1041,14 +1041,14 @@
"type": "string",
"description": "Names of the pre-validation errors that can occur in the project",
"allowedValues": [
"No pom.xml file found",
"No Java project found",
"Mixed Java project and another language found",
"Project selected is not Java 8 or Java 11",
"Only Maven projects supported",
"Empty project",
"Non SSO login",
"Project running on backend"
"NoPom",
"NoJavaProject",
"MixedLanguages",
"UnsupportedJavaVersion",
"NonMavenProject",
"EmptyProject",
"NonSsoLogin",
"RemoteRunProject"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ private fun FileSpec.Builder.generateTelemetryEnumType(item: TelemetryMetricType
item.allowedValues!!.forEach { enumValue ->
enum.addEnumConstant(
enumValue.toString().replace(Regex("\\s"), "_").toTypeFormat(), TypeSpec.anonymousClassBuilder()
.addSuperclassConstructorParameter("%S", enumValue.toString().replace(Regex("\\s"), "_"))
.addSuperclassConstructorParameter("%S", enumValue.toString())
.build()
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "testAllowedValues",
"allowedValues": [
"test spaces are replaced",
"in allowed values"
"in allowed values output key"
],
"description": "A test object for parsing allowedValues"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import software.aws.toolkits.jetbrains.services.telemetry.TelemetryService
public enum class TestAllowedValues(
private val `value`: String,
) {
TestSpacesAreReplaced("test_spaces_are_replaced"),
InAllowedValues("in_allowed_values"),
TestSpacesAreReplaced("test spaces are replaced"),
InAllowedValuesOutputKey("in allowed values output key"),
Unknown("unknown"),
;

Expand Down
5 changes: 1 addition & 4 deletions telemetry/vscode/src/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,7 @@ function getArgsFromMetadata(m: MetadataType): string {
name,
kind: StructureKind.TypeAlias,
isExported: true,
type: m.allowedValues.map(v => {
const modifiedVal = typeof v === "string" ? v.replace(/\s/g, "_") : v;
return `'${modifiedVal}'`
}).join(' | '),
type: m.allowedValues.map(v => `'${v}'`).join(' | '),
})
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"name": "testAllowedValues",
"allowedValues": [
"test spaces are replaced",
"in allowed values"
"in allowed values output key"
],
"description": "A test object for parsing allowedValues"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export interface TestMetric extends MetricBase {

export type Result = 'Succeeded'
export type LambdaRuntime = 'dotnetcore2.1' | 'nodejs12.x'
export type TestAllowedValues = 'test_spaces_are_replaced' | 'in_allowed_values'
export type TestAllowedValues = 'test spaces are replaced' | 'in allowed values output key'

export interface MetricDefinition {
readonly unit: string
Expand Down

0 comments on commit 6c3cf26

Please sign in to comment.