public void WhenAddingAndRemovingPreAndPostCommitHooksThingsWorkAsExpected() { var props = new RiakBucketProperties() .AddPreCommitHook(new RiakJavascriptCommitHook("some_fun")) .AddPreCommitHook(new RiakJavascriptCommitHook("some_fun")) .AddPreCommitHook(new RiakErlangCommitHook("mod", "fun")) .AddPreCommitHook(new RiakErlangCommitHook("mod", "fun")) .AddPreCommitHook(new RiakErlangCommitHook("riak_search_kv_hook", "precommit")) .AddPreCommitHook(new RiakErlangCommitHook("riak_search_kv_hook", "precommit")) .AddPreCommitHook(RiakErlangCommitHook.RiakSearchCommitHook) .AddPostCommitHook(new RiakErlangCommitHook("mod", "fun")) .AddPostCommitHook(new RiakErlangCommitHook("mod", "fun")); props.PreCommitHooks.Count.ShouldEqual(3); props.PostCommitHooks.Count.ShouldEqual(1); props.SetSearch(true); props.PreCommitHooks.Count.ShouldEqual(3); props.PostCommitHooks.Count.ShouldEqual(1); props.SetSearch(false); props.PreCommitHooks.Count.ShouldEqual(2); props.PostCommitHooks.Count.ShouldEqual(1); props.PreCommitHooks.Where(x => x is RiakErlangCommitHook).Cast<RiakErlangCommitHook>() .Any(x => x.Function == RiakErlangCommitHook.RiakSearchCommitHook.Function && x.Function == RiakErlangCommitHook.RiakSearchCommitHook.Function) .ShouldBeFalse(); }
public void WhenDisablingRiakSearchOnBucketPreCommitHookIsRemoved() { var props = new RiakBucketProperties() .AddPreCommitHook(new RiakErlangCommitHook("foo", "bar")) .SetSearch(true); props.PreCommitHooks.Count.ShouldEqual(2); props.PreCommitHooks[1].ShouldEqual(RiakErlangCommitHook.RiakSearchCommitHook); props.SetSearch(false); props.PreCommitHooks.Count.ShouldEqual(1); ((RiakErlangCommitHook)props.PreCommitHooks[0]).Function.ShouldEqual("bar"); }