public void Start() { if (_serviceHost != null) { throw new InvalidOperationException("Server is already started."); } var managementHandler = new ManagementTransferRequestHandler(); managementHandler.Bind(Schema.DynamicMBeanResourceUri, new DynamicMBeanManagementRequestHandler(_server)); managementHandler.Bind(Schema.MBeanServerResourceUri, new MBeanServerManagementRequestHandler(_server)); var enumerationServer = new EnumerationServer(); enumerationServer.Bind(Schema.DynamicMBeanResourceUri, Schema.QueryNamesDialect, typeof(string), new QueryNamesEnumerationRequestHandler(_server)); enumerationServer.Bind(Schema.DynamicMBeanResourceUri, FilterMap.DefaultDialect, typeof(void), new IsRegisteredEnumerationRequestHandler(_server)); var eventingServer = new EventingServer(new EventingRequestHandler(_server)); eventingServer.Bind(Schema.NotificationDialect, typeof(NotificationFilter)); eventingServer.EnablePullDeliveryUsing(enumerationServer.PullServer); var extensionHandler = new Jsr262ExtensionMethodHandler(_server); _serviceHost = new HttpListenerTransferEndpoint(_serviceUrl, new TransferServer(managementHandler), enumerationServer, enumerationServer, eventingServer, extensionHandler); }
public void If_optimized_no_more_than_maximum_count_items_are_returned() { IEnumerationRequestHandler handler = MockRepository.GenerateMock <IEnumerationRequestHandler>(); handler.Expect(x => x.Enumerate(null)).IgnoreArguments().Return(new[] { new EndpointAddress(ResourceUri.ToString()), new EndpointAddress(ResourceUri.ToString()), new EndpointAddress(ResourceUri.ToString()) }); EnumerationServer server = new EnumerationServer(); server.Bind(ResourceUri, FilterMap.DefaultDialect, typeof(void), handler); OperationContextProxy.Current.AddHeader(new ResourceUriHeader(ResourceUri.ToString())); var response = server.Enumerate(new EnumerateRequest { EnumerationMode = EnumerationMode.EnumerateEPR, OptimizeEnumeration = OptimizeEnumeration.True, MaxElements = new MaxElements(2) }); Assert.AreEqual(2, response.Items.Items.Count()); }
public void If_optimized_some_items_are_returned() { IEnumerationRequestHandler handler = MockRepository.GenerateMock<IEnumerationRequestHandler>(); handler.Expect(x => x.Enumerate(null)).IgnoreArguments().Return(new [] {new EndpointAddress(ResourceUri.ToString())}); EnumerationServer server = new EnumerationServer(); server.Bind(ResourceUri, FilterMap.DefaultDialect, typeof (void), handler); OperationContextProxy.Current.AddHeader(new ResourceUriHeader(ResourceUri.ToString())); var response = server.Enumerate(new EnumerateRequest { EnumerationMode = EnumerationMode.EnumerateEPR, OptimizeEnumeration = OptimizeEnumeration.True }); Assert.AreEqual(1, response.Items.Items.Count()); }