示例#1
0
 //TODO: YUCK
 public void MapTo(DeploymentServer server)
 {
     foreach (var task in _tasks)
     {
         server.AddDetail(task.ConstructTasksForServer(server).ToDetail(server));
     }
 }
示例#2
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new RunSqlScriptTask(server.Name, _databaseName)
     {
         ScriptToRun = this.ScriptToRun
     });
 }
示例#3
0
文件: Server.cs 项目: fchen/dropkick
 //TODO: YUCK
 public void MapTo(DeploymentServer server)
 {
     foreach (var task in _tasks)
     {
         server.AddDetail(task.ConstructTasksForServer(server).ToDetail(server));
     }
 }
示例#4
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new OutputSqlTask(server.Name, _databaseName)
     {
         OutputSql = OutputSql
     });
 }
示例#5
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new RunSqlScriptTask(server.Name, _databaseName)
            {
                ScriptToRun = this.ScriptToRun
            };
 }
示例#6
0
 public void MapTo(DeploymentServer server)
 {
     foreach (var task in _tasks)
     {
         task.RegisterRealTasks(server);
     }
 }
示例#7
0
 public void MapTo(DeploymentServer server)
 {
     foreach (var task in _tasks)
     {
         task.RegisterRealTasks(server);
     }
 }
示例#8
0
        public void ExecuteLocal()
        {
            var ps = new DeploymentServer(Environment.MachineName);
            var ub = new UriBuilder("msmq", ps.Name)
            {
                Path = "dk_test2"
            };
            var address = new QueueAddress(ub.Uri);

            if (MessageQueue.Exists(address.LocalName))
            {
                MessageQueue.Delete(address.LocalName);
            }

            var t = new CreateLocalMsmqQueueTask(ps, address, transactional: true);
            var r = t.Execute();

            Assert.IsFalse(r.ContainsError(), "Errors occured during MSMQ create execution.");

            var queue =
                MessageQueue.GetPrivateQueuesByMachine(Environment.MachineName).SingleOrDefault(
                    x => address.LocalName.EndsWith(x.QueueName));

            Assert.IsNotNull(queue, "Transactional queue was not created.");
            Assert.IsTrue(queue.Transactional, "Queue was created but is not transactional.");
        }
示例#9
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new OutputSqlTask(server.Name, _databaseName)
            {
                OutputSql = OutputSql
            };
 }
示例#10
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new MsmqTask()
     {
         QueueName = _queueName,
         ServerName = server.Name
     });
 }
示例#11
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new MsmqTask()
            {
                QueueName = _queueName,
                ServerName = server.Name
            };
 }
示例#12
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new FolderShareTask
            {
                PointingTo = _pointingTo,
                Server = server.Name,
                ShareName = _shareName
            };
 }
示例#13
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     var t = new RunSqlScriptTask(server.Name, _databaseName)
             {
                 ScriptToRun = _scriptFile,
                 InstanceName = this.InstanceName
             };
     return t;
 }
示例#14
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new FolderShareTask
     {
         PointingTo = _pointingTo,
         Server = server.Name,
         ShareName = _shareName
     });
 }
示例#15
0
        public override Task ConstructTasksForServer(DeploymentServer server)
        {
            var t = new RunSqlScriptTask(server.Name, _databaseName)
            {
                ScriptToRun  = _scriptFile,
                InstanceName = this.InstanceName
            };

            return(t);
        }
示例#16
0
        public void VerifyLocal()
        {
            var ps = new DeploymentServer(Environment.MachineName);
            var ub = new UriBuilder("msmq", ps.Name)
            {
                Path = "dk_test"
            };
            var t = new CreateLocalMsmqQueueTask(ps, new QueueAddress(ub.Uri));
            var r = t.VerifyCanRun();

            Assert.IsFalse(r.ContainsError(), "Errors occured during MSMQ create verification.");
        }
示例#17
0
        public void Bob()
        {
            var settings = new TestSettings();

            settings.Bob         = "dru";
            settings.Environment = "PROD";
            HUB.Settings         = settings;
            _proto = new ProtoCopyFileTask(new DotNetPath(), "C:\\from\\here");
            _proto.ToDirectory("C:\\to\\there\\{{Environment}}");
            _serv = new DeploymentServer("bob");

            _proto.RegisterRealTasks(_serv);
        }
            public override void Context()
            {
                base.Context();

                server = new DeploymentServer("127.0.0.1");

                var ub = new UriBuilder("msmq", "127.0.0.1")
                {
                    Path = "dk_test_remote"
                };

                address = new QueueAddress(ub.Uri);

                task = new RemoteMsmqGrantReadWriteTask(server, address, user);
            }
            public override void Context()
            {
                base.Context();
                keyLocation = dotNetPath.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Microsoft", "Crypto", "RSA", "MachineKeys");

                groups = new List <string>
                {
                    WellKnownSecurityRoles.Users
                };

                PhysicalServer server = new DeploymentServer("localhost");

                task        = new GrantReadCertificatePrivateKeyTask(server, groups, thumbprint, StoreName.My, StoreLocation.LocalMachine, dotNetPath);
                certificate = BaseSecurityCertificatePermissionsTask.FindCertificateBy(thumbprint, StoreName.My, StoreLocation.LocalMachine, server, result);
            }
示例#20
0
        public void CopyFileToUncDirectory()
        {
            var toDir   = @"\\srvtestmachine\some_directory";
            var fromDir = @".\bob";

            HUB.Settings = new object();

            var proto = new ProtoCopyFileTask(new DotNetPath(), fromDir);

            proto.ToDirectory(toDir);

            var server = new DeploymentServer("dru");

            proto.RegisterRealTasks(server);
        }
示例#21
0
        public void Execute()
        {
            var ps = new DeploymentServer("srvtestweb01");
            var ub = new UriBuilder("msmq", ps.Name)
            {
                Path = "dk_test"
            };
            var address = new QueueAddress(ub.Uri);

            //delete the remote queue

            var t = new CreateRemoteMsmqQueueTask(ps, address);
            var r = t.Execute();

            Assert.IsFalse(r.ContainsError(), "Errors occured during MSMQ create execution.");
        }
示例#22
0
        public void test_share_name(string shareName)
        {
            string serverName  = "localhost";
            string destination = @".\temp";

            if (!Directory.Exists(destination))
            {
                Directory.CreateDirectory(destination);
            }
            Win32Share.Create(serverName, shareName, destination, "");

            var server = new DeploymentServer(serverName);
            var actual = _path.GetPhysicalPath(server, @"~\{0}".FormatWith(shareName), false);

            Win32Share.Delete(serverName, shareName);

            Assert.AreEqual(System.IO.Path.GetFullPath(destination), actual);
        }
示例#23
0
        public override Task ConstructTasksForServer(DeploymentServer server)
        {
            //TODO: The rest of the args
            if (server.IsLocal)
                return new LocalCommandLineTask(_command)
                       {
                           Args = _args,
                           ExecutableIsLocatedAt = _path,
                           WorkingDirectory = _workingDirectory
                       };

            return new RemoteCommandLineTask(_command)
                   {
                       Args = _args,
                       ExecutableIsLocatedAt = _path,
                       WorkingDirectory = _workingDirectory
                   };
        }
示例#24
0
        public void ExecuteLocal()
        {
            var ps = new DeploymentServer(Environment.MachineName);
            var ub = new UriBuilder("msmq", ps.Name)
            {
                Path = "dk_test2"
            };
            var address = new QueueAddress(ub.Uri);

            if (MessageQueue.Exists(address.LocalName))
            {
                MessageQueue.Delete(address.LocalName);
            }

            var t = new CreateLocalMsmqQueueTask(ps, address);
            var r = t.Execute();

            Assert.IsFalse(r.ContainsError(), "Errors occured during MSMQ create execution.");
        }
示例#25
0
        public override Task ConstructTasksForServer(DeploymentServer server)
        {
            if (Version == IisVersion.Six)
            {
                return new Iis6Task()
                       {
                           PathOnServer = PathOnServer,
                           ServerName = server.Name,
                           VdirPath = VdirPath,
                           WebsiteName = WebsiteName
                       };
            }

            return new Iis7Task()
                   {
                       PathOnServer = PathOnServer,
                       ServerName = server.Name,
                       VdirPath = VdirPath,
                       WebsiteName = WebsiteName
                   };
        }
示例#26
0
        public override Task ConstructTasksForServer(DeploymentServer server)
        {
            if (Version == IisVersion.Six)
            {
                return(new Iis6Task()
                {
                    PathOnServer = PathOnServer,
                    ServerName = server.Name,
                    VdirPath = VdirPath,
                    WebsiteName = WebsiteName
                });
            }

            return(new Iis7Task()
            {
                PathOnServer = PathOnServer,
                ServerName = server.Name,
                VdirPath = VdirPath,
                WebsiteName = WebsiteName
            });
        }
示例#27
0
        public override Task ConstructTasksForServer(DeploymentServer server)
        {
            //TODO: The rest of the args
            if (server.IsLocal)
            {
                return new LocalCommandLineTask(_command)
                       {
                           Args = _args,
                           ExecutableIsLocatedAt = _path,
                           WorkingDirectory      = _workingDirectory
                       }
            }
            ;

            return(new RemoteCommandLineTask(_command)
            {
                Args = _args,
                ExecutableIsLocatedAt = _path,
                WorkingDirectory = _workingDirectory
            });
        }
    }
示例#28
0
 public override void Context()
 {
     base.Context();
     server = new DeploymentServer(remoteServerName);
 }
示例#29
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new WinServiceStopTask(server.Name, _serviceName);
 }
示例#30
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new NoteTask(Message));
 }
示例#31
0
        public void when_converting_a_share_to_a_local_path_it_should_work_when_the_share_is_prepended_with_the_server()
        {
            var server = new DeploymentServer("localhost");

            Assert.AreEqual(@"C:\temp", _path.ConvertUncShareToLocalPath(server, @"\\localhost\c$\temp"));
        }
示例#32
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new DsnTask(server.Name, _dsnName, DsnAction.AddSystemDsn, DsnDriver.Sql(), _databaseName));
 }
示例#33
0
 public void ConfigureServer(DeploymentServer server)
 {
     _server.MapTo(server);
 }
示例#34
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new WinServiceStartTask(server.Name, _serviceName));
 }
示例#35
0
        public static DeploymentDetail ToDetail(this Task task, DeploymentServer server)
        {
            var d = new DeploymentDetail(() => task.Name, task.VerifyCanRun, task.Execute);

            return(d);
        }
示例#36
0
        public void LocalhostShouldBeLocal()
        {
            var srv = new DeploymentServer("localhost");

            Assert.IsTrue(srv.IsLocal);
        }
示例#37
0
 public abstract Task ConstructTasksForServer(DeploymentServer server);
示例#38
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return(new CopyTask(_from, _to));
 }
示例#39
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new NoteTask(Message);
 }
示例#40
0
 public abstract Task ConstructTasksForServer(DeploymentServer server);
示例#41
0
 void ProtoServer.MapTo(DeploymentServer server)
 {
     throw new NotImplementedException();
 }
示例#42
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new CopyTask(_from, _to);
 }
示例#43
0
        public void when_converting_a_share_to_a_local_path_it_should_work_when_the_share_has_a_pound_sign_in_it()
        {
            var server = new DeploymentServer("localhost");

            Assert.AreEqual(@"C:\code", _path.ConvertUncShareToLocalPath(server, @"~\code#"));
        }
示例#44
0
        public static DeploymentDetail ToDetail(this Task task, DeploymentServer server)
        {
            var d = new DeploymentDetail(() => task.Name, task.VerifyCanRun, task.Execute, ()=>Tracer(task) );

            return d;
        }
示例#45
0
 public void ConfigureServer(DeploymentServer server)
 {
     _server.MapTo(server);
 }
示例#46
0
 public override Task ConstructTasksForServer(DeploymentServer server)
 {
     return new DsnTask(server.Name, _dsnName, DsnAction.AddSystemDsn, DsnDriver.Sql(), _databaseName);
 }