use micro error codes and id

This commit is contained in:
A.Unger committed 2020-08-20 15:49:16 +02:00
1 parent adcecd9792
commit eb713b7a97
2 files changed
+13 -13

No files matched your search

+8 -8
View File
@@ -103,7 +103,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"सिम्प्ले-display-name",
"सिम्प्ले-extension-name",
"सिम्प्ले",
merrors.New("", "extension: must be in a valid format; name: must be in a valid format.", 0),
merrors.New("ocis-settings", "extension: must be in a valid format; name: must be in a valid format.", 400),
},
{
"UTF validation on display name",
@@ -111,7 +111,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"सिम्प्ले-display-name",
"simple-extension-name",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "name: must be in a valid format.", 0),
merrors.New("ocis-settings", "name: must be in a valid format.", 400),
},
{
"extension name with ../ in the name",
@@ -119,7 +119,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"simple-display-name",
"../folder-a-level-higher-up",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "extension: must be in a valid format.", 0),
merrors.New("ocis-settings", "extension: must be in a valid format.", 400),
},
{
"extension name with \\ in the name",
@@ -127,7 +127,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"simple-display-name",
"\\",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "extension: must be in a valid format.", 0),
merrors.New("ocis-settings", "extension: must be in a valid format.", 400),
},
{
"spaces are disallowed in bundle names",
@@ -135,7 +135,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"simple display name",
"simple extension name",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "extension: must be in a valid format; name: must be in a valid format.", 0),
merrors.New("ocis-settings", "extension: must be in a valid format; name: must be in a valid format.", 400),
},
{
"spaces are allowed in display names",
@@ -151,7 +151,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"simple-display-name",
"",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "extension: cannot be blank.", 0),
merrors.New("ocis-settings", "extension: cannot be blank.", 400),
},
{
"display name missing",
@@ -159,7 +159,7 @@ func TestSettingsBundleProperties(t *testing.T) {
"",
"simple-extension-name",
"123e4567-e89b-12d3-a456-426652340000",
merrors.New("", "display_name: cannot be blank.", 0),
merrors.New("ocis-settings", "display_name: cannot be blank.", 400),
},
{
"UUID missing (omitted on bundles)",
@@ -216,7 +216,7 @@ func TestSettingsBundleWithoutSettings(t *testing.T) {
response, err := cl.SaveBundle(context.Background(), &createRequest)
assert.Error(t, err)
assert.Nil(t, response)
assert.Equal(t, merrors.New("", "extension: cannot be blank; name: cannot be blank; settings: cannot be blank.", 0), err)
assert.Equal(t, merrors.New("ocis-settings", "extension: cannot be blank; name: cannot be blank; settings: cannot be blank.", 400), err)
os.RemoveAll(dataStore)
}
+5 -5
View File
@@ -52,11 +52,11 @@ func NewService(cfg *config.Config, logger log.Logger) Service {
func (g Service) SaveBundle(c context.Context, req *proto.SaveBundleRequest, res *proto.SaveBundleResponse) error {
cleanUpResource(c, req.Bundle.Resource)
if validationError := validateSaveBundle(req); validationError != nil {
return merrors.FromError(validationError)
return merrors.FromError(merrors.BadRequest("ocis-settings", "%s", validationError))
}
r, err := g.manager.WriteBundle(req.Bundle)
if err != nil {
return merrors.FromError(err)
return merrors.FromError(merrors.InternalServerError("ocis-settings", "%s", err))
}
res.Bundle = r
return nil
@@ -118,15 +118,15 @@ func (g Service) SaveValue(c context.Context, req *proto.SaveValueRequest, res *
cleanUpResource(c, req.Value.Resource)
// TODO: we need to check, if the authenticated user has permission to write the value for the specified resource (e.g. global, file with id xy, ...)
if validationError := validateSaveValue(req); validationError != nil {
return merrors.FromError(validationError)
return merrors.FromError(merrors.BadRequest("ocis-settings", "%s", validationError))
}
r, err := g.manager.WriteValue(req.Value)
if err != nil {
return merrors.FromError(err)
return merrors.FromError(merrors.BadRequest("ocis-settings", "%s", err))
}
valueWithIdentifier, err := g.getValueWithIdentifier(r)
if err != nil {
return merrors.FromError(err)
return merrors.FromError(merrors.NotFound("ocis-settings", "%s", err))
}
res.Value = valueWithIdentifier
return nil