Skip to content

Commit

Permalink
fix(protocol): change custom headers to Map<String,String>
Browse files Browse the repository at this point in the history
BREAKING CHANGE:
- Return type of 'getCustomHeaders' in JobRecord and clients'
ActivateJobs response was changed from Map<String, Object> to
Map<String, String>
  • Loading branch information
Miguel Pires committed Jun 21, 2019
1 parent 1fd03da commit 2d05e3b
Show file tree
Hide file tree
Showing 15 changed files with 275 additions and 605 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public class ExporterObjectMapper {

private static final TypeReference<Map<String, Object>> MAP_TYPE_REFERENCE =
new TypeReference<Map<String, Object>>() {};
private static final TypeReference<Map<String, Object>> STRING_MAP_TYPE_REFERENCE =
new TypeReference<Map<String, Object>>() {};

private final ObjectMapper msgpackObjectMapper;
private final ObjectMapper jsonObjectMapper;
Expand Down Expand Up @@ -105,4 +107,12 @@ public Map<String, Object> fromMsgpackAsMap(InputStream inputStream) {
throw new RuntimeException("Failed deserialize Msgpack JSON to map", e);
}
}

public Map<String, String> fromMsgpackAsStringMap(InputStream inputStream) {
try {
return msgpackObjectMapper.readValue(inputStream, STRING_MAP_TYPE_REFERENCE);
} catch (IOException e) {
throw new RuntimeException("Failed deserialize Msgpack JSON to map", e);
}
}
}
4 changes: 2 additions & 2 deletions clients/go/entities/job.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ func (job *Job) GetVariablesAs(variablesType interface{}) error {
return json.Unmarshal([]byte(job.Variables), variablesType)
}

func (job *Job) GetCustomHeadersAsMap() (map[string]interface{}, error) {
var customHeadersMap map[string]interface{}
func (job *Job) GetCustomHeadersAsMap() (map[string]string, error) {
var customHeadersMap map[string]string
return customHeadersMap, job.GetCustomHeadersAs(&customHeadersMap)
}

Expand Down
8 changes: 6 additions & 2 deletions clients/go/entities/job_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ var (
"foo": "bar",
"hello": "world",
}
expectedJsonAsMapVariables = map[string]interface{}{
"foo": "bar",
"hello": "world",
}
expectedJsonAsStruct = MyType{
Foo: "bar",
Hello: "world",
Expand All @@ -46,7 +50,7 @@ func TestJob_GetVariablesAsMap(t *testing.T) {
if err != nil {
t.Error("Failed to get variables as map", err)
}
if reflect.DeepEqual(variables, expectedJsonAsMap) {
if !reflect.DeepEqual(variables, expectedJsonAsMapVariables) {
t.Error("Failed to get variables as map, got", variables, "instead of", expectedJsonAsMap)
}
}
Expand All @@ -66,7 +70,7 @@ func TestJob_GetCustomHeadersAsMap(t *testing.T) {
if err != nil {
t.Error("Failed to get custom headers as map", err)
}
if reflect.DeepEqual(customHeaders, expectedJsonAsMap) {
if !reflect.DeepEqual(customHeaders, expectedJsonAsMap) {
t.Error("Failed to get custom headers as map, got", customHeaders, "instead of", expectedJsonAsMap)
}
}
Expand Down
277 changes: 120 additions & 157 deletions clients/go/mock_pb/mock_gateway.go

Large diffs are not rendered by default.

0 comments on commit 2d05e3b

Please sign in to comment.