Exemple #1
0
        public void MergeTrailingMetadataHandlers()
        {
            Action <Metadata> handler1 = metadata => { };
            Action <Metadata> handler2 = metadata => { };
            var settings = CallSettings.Merge(
                CallSettings.FromTrailingMetadataHandler(handler1),
                CallSettings.FromTrailingMetadataHandler(handler2));

            Assert.Equal(handler1 + handler2, settings.TrailingMetadataHandler);
        }
Exemple #2
0
        public void Merge_HeaderMutationOrdering()
        {
            Action <Metadata> clearAndAddFoo = m => { m.Clear(); m.Add("foo", "bar"); };
            Action <Metadata> addSample      = m => m.Add("sample", "value");

            CallSettings clearAndAddFooSettings = new CallSettings(null, null, null, clearAndAddFoo, null, null);
            CallSettings addSampleSettings      = new CallSettings(null, null, null, addSample, null, null);

            var merged1 = CallSettings.Merge(clearAndAddFooSettings, addSampleSettings);
            var merged2 = CallSettings.Merge(addSampleSettings, clearAndAddFooSettings);

            // Original should be called first, so merged1 should end up with foo and sample;
            // merged2 should end up with just foo.
            var metadata = new Metadata();

            merged1.HeaderMutation(metadata);
            Assert.Equal(2, metadata.Count);

            metadata = new Metadata();
            merged2.HeaderMutation(metadata);
            Assert.Equal(1, metadata.Count);
        }