コード例 #1
0
        public AddDriverHandlerTest()
        {
            driverRepository    = new Mock <IDriverRepository>();
            notificationService = new Mock <INotificationService>();

            instance = new AddDriverHandler(driverRepository.Object, notificationService.Object);
        }
コード例 #2
0
        public void setUp()
        {
            server  = new HttpServer(8080);
            handler = new AddDriverHandler("stationId", "resource");
            server.AddHandler("/v2/station/drivers/add/", handler);
            server.Start();

            CloudServer.BaseUrl = "http://localhost/v2/";

            mongodb.GetDatabase("wammer").GetCollection <Driver>("drivers").RemoveAll();
            mongodb.GetDatabase("wammer").GetCollection("station").RemoveAll();
        }
コード例 #3
0
        public void setUp()
        {
            handler = new AddDriverHandler("stationId", "resource");
            Server.AddHandler("/v2/station/drivers/add/", handler);
            Server.Start();

            CloudServer.BaseUrl = "http://localhost/v2/";

            mongodb.GetDatabase("wammer").GetCollection <Driver>("drivers").RemoveAll();
            mongodb.GetDatabase("wammer").GetCollection("station").RemoveAll();

            mongodb.GetDatabase("wammer").GetCollection <Driver>("drivers").Insert(
                new Driver
            {
                user_id = "exist_uid",
                email   = "*****@*****.**",
                folder  = "resource\\user_exist_uid",
                groups  = new List <UserGroup> {
                    new UserGroup {
                        group_id = "123"
                    }
                }
            });
        }
コード例 #4
0
        protected override void OnStart(string[] args)
        {
            try
            {
                logger.Info("============== Starting Waveface Station =================");
                ConfigThreadPool();

                AppDomain.CurrentDomain.UnhandledException +=
                    new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

                Environment.CurrentDirectory = Path.GetDirectoryName(
                    Assembly.GetExecutingAssembly().Location);

                logger.Debug("Initialize Waveface Service");
                InitStationId();
                InitResourceBasePath();

                fastJSON.JSON.Instance.UseUTCDateTime = true;

                functionServer = new HttpServer(9981);                 // TODO: remove hard code
                stationTimer   = new StationTimer(functionServer);

                logger.Debug("Add cloud forwarders to function server");
                BypassHttpHandler cloudForwarder = new BypassHttpHandler(CloudServer.BaseUrl);
                cloudForwarder.AddExceptPrefix("/" + CloudServer.DEF_BASE_PATH + "/auth/");
                cloudForwarder.AddExceptPrefix("/" + CloudServer.DEF_BASE_PATH + "/users/");
                cloudForwarder.AddExceptPrefix("/" + CloudServer.DEF_BASE_PATH + "/groups/");
                cloudForwarder.AddExceptPrefix("/" + CloudServer.DEF_BASE_PATH + "/stations/");
                functionServer.AddDefaultHandler(cloudForwarder);

                logger.Debug("Add handlers to function server");
                functionServer.AddHandler("/", new DummyHandler());
                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/attachments/view/",
                                          new AttachmentViewHandler(stationId));

                AttachmentUploadHandler attachmentHandler = new AttachmentUploadHandler();
                AttachmentUploadMonitor attachmentMonitor = new AttachmentUploadMonitor();
                ImagePostProcessing     imgProc           = new ImagePostProcessing();
                imgProc.ThumbnailUpstreamed += attachmentMonitor.OnThumbnailUpstreamed;

                attachmentHandler.ImageAttachmentSaved     += imgProc.HandleImageAttachmentSaved;
                attachmentHandler.ImageAttachmentCompleted += imgProc.HandleImageAttachmentCompleted;
                attachmentHandler.ThumbnailUpstreamed      += attachmentMonitor.OnThumbnailUpstreamed;


                CloudStorageSync cloudSync = new CloudStorageSync();
                attachmentHandler.AttachmentSaved  += cloudSync.HandleAttachmentSaved;
                attachmentHandler.ProcessSucceeded += attachmentMonitor.OnProcessSucceeded;

                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/attachments/upload/",
                                          attachmentHandler);

                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/resourceDir/get/",
                                          new ResouceDirGetHandler(resourceBasePath));

                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/resourceDir/set/",
                                          new ResouceDirSetHandler());

                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/attachments/get/",
                                          new AttachmentGetHandler());



                functionServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/availability/ping/",
                                          new PingHandler());

                //if (Wammer.Utility.AutoRun.Exists("WavefaceStation"))
                //{
                logger.Debug("Start function server");
                functionServer.Start();
                stationTimer.Start();
                //}

                logger.Debug("Add handlers to management server");
                managementServer = new HttpServer(9989);
                AddDriverHandler addDriverHandler = new AddDriverHandler(stationId, resourceBasePath);
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/online/", new StationOnlineHandler(functionServer, stationTimer));
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/offline/", new StationOfflineHandler(functionServer, stationTimer));
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/drivers/add/", addDriverHandler);
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/drivers/list/", new ListDriverHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/drivers/remove/", new RemoveOwnerHandler(stationId));
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/station/status/get/", new StatusGetHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/cloudstorage/list", new ListCloudStorageHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/cloudstorage/dropbox/oauth/", new DropBoxOAuthHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/cloudstorage/dropbox/connect/", new DropBoxConnectHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/cloudstorage/dropbox/update/", new DropBoxUpdateHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/cloudstorage/dropbox/disconnect/", new DropboxDisconnectHandler());
                managementServer.AddHandler("/" + CloudServer.DEF_BASE_PATH + "/availability/ping/", new PingHandler());

                addDriverHandler.DriverAdded += new EventHandler <DriverAddedEvtArgs>(addDriverHandler_DriverAdded);
                logger.Debug("Start management server");
                managementServer.Start();

                logger.Info("Waveface station is started");
            }
            catch (Exception ex)
            {
                logger.Error("Unknown exception", ex);
                throw;
            }
        }