[tilo] Only unmarshal name and IDs from proto messages
RPC responses don't include anything other than names and IDs,
so we don't need code to unmarshal any other fields.
IN-699#comment
Change-Id: I48f650e0cb1b0e444564ed8f3276f26da2bdfd09
diff --git a/tilo/resultstore/entity.go b/tilo/resultstore/entity.go
index 5442184..4a1768b 100644
--- a/tilo/resultstore/entity.go
+++ b/tilo/resultstore/entity.go
@@ -23,28 +23,10 @@
return output
}
-func protoTimestampToTime(input *timestamp.Timestamp) time.Time {
- output, err := ptypes.Timestamp(input)
- if err != nil {
- // We should never get here.
- panic(err.Error())
- }
- return output.UTC()
-}
-
func durationToProtoDuration(input time.Duration) *duration.Duration {
return ptypes.DurationProto(input)
}
-func protoDurationToDuration(input *duration.Duration) time.Duration {
- output, err := ptypes.Duration(input)
- if err != nil {
- // We should never get here.
- panic(err.Error())
- }
- return output
-}
-
func mapToProperties(input map[string]string) []*api.Property {
var props []*api.Property
for k, v := range input {
@@ -53,14 +35,6 @@
return props
}
-func propertiesToMap(input []*api.Property) map[string]string {
- output := make(map[string]string)
- for _, property := range input {
- output[property.Key] = property.Value
- }
- return output
-}
-
func lookupFileURI(files []*api.File, fileID string) string {
for _, file := range files {
if file.Uid == fileID {
@@ -114,16 +88,8 @@
func (i *Invocation) FromResultStoreInvocation(input *api.Invocation) {
*i = Invocation{
- Name: input.GetName(),
- ID: input.GetId().InvocationId,
- ProjectID: input.InvocationAttributes.ProjectId,
- Users: input.InvocationAttributes.Users,
- Labels: input.InvocationAttributes.Labels,
- Properties: propertiesToMap(input.Properties),
- LogURL: lookupFileURI(input.Files, "invocation.log"),
- Status: statusFromResultStoreStatus(input.StatusAttributes.Status),
- StartTime: protoTimestampToTime(input.Timing.StartTime),
- Duration: protoDurationToDuration(input.Timing.Duration),
+ Name: input.GetName(),
+ ID: input.GetId().InvocationId,
}
}
@@ -154,7 +120,6 @@
Name: input.GetName(),
ID: input.GetId().ConfigurationId,
InvocationID: input.GetId().InvocationId,
- Properties: propertiesToMap(input.Properties),
}
}
@@ -193,10 +158,6 @@
Name: input.GetName(),
ID: input.GetId().TargetId,
InvocationID: input.GetId().InvocationId,
- Properties: propertiesToMap(input.Properties),
- Status: statusFromResultStoreStatus(input.StatusAttributes.Status),
- StartTime: protoTimestampToTime(input.Timing.StartTime),
- Duration: protoDurationToDuration(input.Timing.Duration),
}
}
@@ -237,10 +198,6 @@
ConfigID: input.GetId().ConfigurationId,
InvocationID: input.GetId().InvocationId,
TargetID: input.GetId().TargetId,
- Status: statusFromResultStoreStatus(input.StatusAttributes.Status),
- Properties: propertiesToMap(input.Properties),
- StartTime: protoTimestampToTime(input.Timing.StartTime),
- Duration: protoDurationToDuration(input.Timing.Duration),
}
}
@@ -292,21 +249,12 @@
}
func (a *TestAction) FromResultStoreAction(input *api.Action) {
- testAction, ok := input.ActionType.(*api.Action_TestAction)
- if !ok {
- panic("action is not a test action")
- }
-
*a = TestAction{
+ Name: input.GetName(),
InvocationID: input.GetId().InvocationId,
TargetID: input.GetId().TargetId,
ConfigID: input.GetId().ConfigurationId,
ID: input.GetId().ActionId,
- TestSuite: testAction.TestAction.TestSuite.SuiteName,
- TestLogURI: lookupFileURI(input.Files, "test.log"),
- Status: statusFromResultStoreStatus(input.StatusAttributes.Status),
- StartTime: protoTimestampToTime(input.Timing.StartTime),
- Duration: protoDurationToDuration(input.Timing.Duration),
}
}
@@ -338,20 +286,3 @@
return api.Status_UNKNOWN
}
}
-
-func statusFromResultStoreStatus(input api.Status) Status {
- switch input {
- case api.Status_BUILDING:
- return Building
- case api.Status_PASSED:
- return Passed
- case api.Status_FAILED:
- return Failed
- case api.Status_TESTING:
- return Testing
- case api.Status_TIMED_OUT:
- return TimedOut
- default:
- return Unknown
- }
-}
diff --git a/tilo/resultstore/upload_client_test.go b/tilo/resultstore/upload_client_test.go
index 88e3970..9a73660 100644
--- a/tilo/resultstore/upload_client_test.go
+++ b/tilo/resultstore/upload_client_test.go
@@ -92,6 +92,18 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Invocation{
+ Name: "resultstore_invocation_name",
+ Id: &api.Invocation_Id{
+ InvocationId: "invocation_id",
+ },
+ }
+
+ expectedOutput := &resultstore.Invocation{
+ Name: "resultstore_invocation_name",
+ ID: "invocation_id",
+ }
+
testBed.ExpectRPC().
CreateInvocation(ctx, &api.CreateInvocationRequest{
RequestId: testUUID,
@@ -99,14 +111,14 @@
InvocationId: "invocation_id",
Invocation: input.ToResultStoreInvocation(),
}).
- Return(input.ToResultStoreInvocation(), nil)
+ Return(apiResponse, nil)
output, err := client.CreateInvocation(ctx, input)
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -128,6 +140,18 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Invocation{
+ Name: "resultstore_invocation_name",
+ Id: &api.Invocation_Id{
+ InvocationId: "invocation_id",
+ },
+ }
+
+ expectedOutput := &resultstore.Invocation{
+ Name: "resultstore_invocation_name",
+ ID: "invocation_id",
+ }
+
testBed.ExpectRPC().
UpdateInvocation(ctx, &api.UpdateInvocationRequest{
AuthorizationToken: "auth_token",
@@ -136,13 +160,13 @@
Paths: []string{"timing.duration", "status_attributes"},
},
}).
- Return(input.ToResultStoreInvocation(), nil)
+ Return(apiResponse, nil)
output, err := client.UpdateInvocation(ctx, input)
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -177,6 +201,20 @@
Properties: map[string]string{"key": "value"},
}
+ apiResponse := &api.Configuration{
+ Name: "resultstore_configuration_name",
+ Id: &api.Configuration_Id{
+ ConfigurationId: "configuration_id",
+ InvocationId: "invocation_id",
+ },
+ }
+
+ expectedOutput := &resultstore.Configuration{
+ Name: "resultstore_configuration_name",
+ ID: "configuration_id",
+ InvocationID: "invocation_id",
+ }
+
testBed.ExpectRPC().
CreateConfiguration(ctx, &api.CreateConfigurationRequest{
RequestId: testUUID,
@@ -185,14 +223,14 @@
ConfigId: "configuration_id",
Configuration: input.ToResultStoreConfiguration(),
}).
- Return(input.ToResultStoreConfiguration(), nil)
+ Return(apiResponse, nil)
output, err := client.CreateConfiguration(ctx, input, "invocation_name")
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -209,6 +247,20 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Target{
+ Name: "resultstore_target_name",
+ Id: &api.Target_Id{
+ TargetId: "target_id",
+ InvocationId: "invocation_id",
+ },
+ }
+
+ expectedOutput := &resultstore.Target{
+ Name: "resultstore_target_name",
+ ID: "target_id",
+ InvocationID: "invocation_id",
+ }
+
testBed.ExpectRPC().
CreateTarget(ctx, &api.CreateTargetRequest{
RequestId: testUUID,
@@ -217,14 +269,14 @@
TargetId: input.ID,
Target: input.ToResultStoreTarget(),
}).
- Return(input.ToResultStoreTarget(), nil)
+ Return(apiResponse, nil)
output, err := client.CreateTarget(ctx, input, "invocation_name")
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -243,6 +295,20 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Target{
+ Name: "resultstore_target_name",
+ Id: &api.Target_Id{
+ TargetId: "target_id",
+ InvocationId: "invocation_id",
+ },
+ }
+
+ expectedOutput := &resultstore.Target{
+ Name: "resultstore_target_name",
+ ID: "target_id",
+ InvocationID: "invocation_id",
+ }
+
testBed.ExpectRPC().
UpdateTarget(ctx, &api.UpdateTargetRequest{
AuthorizationToken: "auth_token",
@@ -251,14 +317,14 @@
Paths: []string{"timing.duration", "status_attributes"},
},
}).
- Return(input.ToResultStoreTarget(), nil)
+ Return(apiResponse, nil)
output, err := client.UpdateTarget(ctx, input)
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -296,6 +362,22 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.ConfiguredTarget{
+ Name: "resultstore_configured_target_name",
+ Id: &api.ConfiguredTarget_Id{
+ InvocationId: "invocation_id",
+ ConfigurationId: "configuration_id",
+ TargetId: "target_id",
+ },
+ }
+
+ expectedOutput := &resultstore.ConfiguredTarget{
+ Name: "resultstore_configured_target_name",
+ InvocationID: "invocation_id",
+ ConfigID: "configuration_id",
+ TargetID: "target_id",
+ }
+
testBed.ExpectRPC().
CreateConfiguredTarget(ctx, &api.CreateConfiguredTargetRequest{
RequestId: testUUID,
@@ -304,14 +386,14 @@
ConfigId: "configuration_id",
ConfiguredTarget: input.ToResultStoreConfiguredTarget(),
}).
- Return(input.ToResultStoreConfiguredTarget(), nil)
+ Return(apiResponse, nil)
output, err := client.CreateConfiguredTarget(ctx, input, "target_name")
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -329,6 +411,22 @@
Duration: time.Hour,
}
+ apiResponse := &api.ConfiguredTarget{
+ Name: "resultstore_configured_target_name",
+ Id: &api.ConfiguredTarget_Id{
+ InvocationId: "invocation_id",
+ ConfigurationId: "configuration_id",
+ TargetId: "target_id",
+ },
+ }
+
+ expectedOutput := &resultstore.ConfiguredTarget{
+ Name: "resultstore_configured_target_name",
+ InvocationID: "invocation_id",
+ ConfigID: "configuration_id",
+ TargetID: "target_id",
+ }
+
testBed.ExpectRPC().
UpdateConfiguredTarget(ctx, &api.UpdateConfiguredTargetRequest{
AuthorizationToken: "auth_token",
@@ -337,14 +435,14 @@
Paths: []string{"timing.duration", "status_attributes"},
},
}).
- Return(input.ToResultStoreConfiguredTarget(), nil)
+ Return(apiResponse, nil)
output, err := client.UpdateConfiguredTarget(ctx, input)
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -384,22 +482,40 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Action{
+ Name: "resultstore_action_name",
+ Id: &api.Action_Id{
+ ActionId: "test",
+ InvocationId: "invocation_id",
+ ConfigurationId: "configuration_id",
+ TargetId: "target_id",
+ },
+ }
+
+ expectedOutput := &resultstore.TestAction{
+ Name: "resultstore_action_name",
+ ID: "test",
+ InvocationID: "invocation_id",
+ ConfigID: "configuration_id",
+ TargetID: "target_id",
+ }
+
testBed.ExpectRPC().
CreateAction(ctx, &api.CreateActionRequest{
RequestId: testUUID,
AuthorizationToken: "auth_token",
Parent: "configured_target_name",
- ActionId: input.ID,
+ ActionId: "test",
Action: input.ToResultStoreAction(),
}).
- Return(input.ToResultStoreAction(), nil)
+ Return(apiResponse, nil)
output, err := client.CreateTestAction(ctx, input, "configured_target_name")
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}
@@ -421,6 +537,22 @@
Status: resultstore.Passed,
}
+ apiResponse := &api.Action{
+ Name: "resultstore_action_name",
+ Id: &api.Action_Id{
+ InvocationId: "invocation_id",
+ ConfigurationId: "configuration_id",
+ TargetId: "target_id",
+ },
+ }
+
+ expectedOutput := &resultstore.TestAction{
+ Name: "resultstore_action_name",
+ InvocationID: "invocation_id",
+ ConfigID: "configuration_id",
+ TargetID: "target_id",
+ }
+
testBed.ExpectRPC().
UpdateAction(ctx, &api.UpdateActionRequest{
AuthorizationToken: "auth_token",
@@ -429,13 +561,13 @@
Paths: []string{"timing.duration", "status_attributes"},
},
}).
- Return(input.ToResultStoreAction(), nil)
+ Return(apiResponse, nil)
output, err := client.UpdateTestAction(ctx, input)
if err != nil {
t.Fatal(err)
}
- expectEqual(t, input, output)
+ expectEqual(t, expectedOutput, output)
})
}