Skip to content
This repository has been archived by the owner on Feb 28, 2019. It is now read-only.

Commit

Permalink
return 404 on not found errors when fetching a namespace (#72)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jake Skelcy committed Aug 15, 2018
1 parent 2c2c5f3 commit b740ef8
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 5 deletions.
8 changes: 4 additions & 4 deletions glide.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion glide.yaml
Expand Up @@ -4,7 +4,7 @@ import:
- package: github.com/m3db/m3cluster
version: 53fc512c11e1ed03db2d65dac4c139a3c2ff2eda
- package: github.com/m3db/m3metrics
version: 115abc5764862381dcba3ef30cd0b42026bd69fe
version: dcfe68fe112095f688cbaa1b0aa4c4ac65922e84
- package: github.com/m3db/m3x
version: a5cc485300c733558a25e1e6c5e9dcf4dbc241c4
- package: github.com/apache/thrift
Expand Down
2 changes: 2 additions & 0 deletions service/r2/store/kv/store.go
Expand Up @@ -478,6 +478,8 @@ func handleUpstreamError(err error) error {
return r2.NewConflictError(err.Error())
case merrors.ValidationError:
return r2.NewBadInputError(err.Error())
case merrors.NotFoundError:
return r2.NewNotFoundError(err.Error())
default:
return r2.NewInternalError(err.Error())
}
Expand Down
26 changes: 26 additions & 0 deletions service/r2/store/kv/store_test.go
Expand Up @@ -117,6 +117,32 @@ func TestUpdateRuleSetVersionMisMatch(t *testing.T) {
require.IsType(t, r2.NewConflictError(""), err)
}

func TestUpdateRuleSetFetchNotFound(t *testing.T) {
rsChanges := newTestRuleSetChanges(
view.MappingRules{},
view.RollupRules{},
)

ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockedStore := rules.NewMockStore(ctrl)
mockedStore.EXPECT().ReadRuleSet("testNamespace").Return(
nil,
merrors.NewNotFoundError("something bad has happened"),
)

storeOpts := NewStoreOptions().SetClockOptions(
clock.NewOptions().SetNowFn(func() time.Time {
return time.Unix(0, 200)
}),
)
rulesStore := NewStore(mockedStore, storeOpts)
uOpts := r2store.NewUpdateOptions().SetAuthor("validUser")
_, err := rulesStore.UpdateRuleSet(rsChanges, 1, uOpts)
require.Error(t, err)
require.IsType(t, r2.NewNotFoundError(""), err)
}

func TestUpdateRuleSetFetchFailure(t *testing.T) {
rsChanges := newTestRuleSetChanges(
view.MappingRules{},
Expand Down

0 comments on commit b740ef8

Please sign in to comment.