Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public ManagementServer()
 {
     _managementHandler  = new ManagementTransferRequestHandler();
     _transferServer     = new TransferServer(_managementHandler);
     _enumerationServer  = new EnumerationServer();
     _pullDeliveryServer = new EventingPullDeliveryServer();
     _eventingServer     = new EventingServer(_pullDeliveryServer);
 }
Ejemplo n.º 4
0
 public void If_invalid_subscription_context_specified_exception_is_thrown()
 {
    EnumerationServer server = new EnumerationServer();
    PullRequest request = new PullRequest
                             {
                                EnumerationContext = new EnumerationContextKey("aaa")
                             };
    server.Pull(request);
 }      
Ejemplo n.º 5
0
        public void If_invalid_subscription_context_specified_exception_is_thrown()
        {
            EnumerationServer server  = new EnumerationServer();
            PullRequest       request = new PullRequest
            {
                EnumerationContext = new EnumerationContextKey("aaa")
            };

            server.Pull(request);
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            var enumerationServer = new EnumerationServer()
                                    .Bind(FilterMap.DefaultDialect, typeof(JmxNotificationFilter), new RequestHandler());

            using (new HttpListenerTransferEndpoint("http://localhost:12345/", enumerationServer))
            {
                Client.PerformTest();
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
            }
        }
Ejemplo n.º 7
0
      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());
      }