コード例 #1
0
        public void CreateDatabaseCommand_Verify_1()
        {
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection);

            Assert.IsFalse(command.Verify(false));
        }
コード例 #2
0
        public void CreateDatabaseCommand_Construciton_1()
        {
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection);

            Assert.AreSame(connection, command.Connection);
        }
コード例 #3
0
        public void CreateDatabaseCommand_CreateQuery_1()
        {
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection);
            ClientQuery             query      = command.CreateQuery();

            Assert.IsNotNull(query);
        }
コード例 #4
0
        public void ParseAndExecuteCreateDatabaseCommand()
        {
            CreateDatabaseCommand cmd = (CreateDatabaseCommand)GetCommand("create database foo");

            cmd.Execute(this.engine);

            Database database = this.engine.GetDatabase("foo");

            Assert.IsNotNull(database);
            Assert.AreEqual("foo", database.Name);
        }
コード例 #5
0
        public void CompileCreateDatabase()
        {
            ICommand cmd = Compile("create database Northwind");

            Assert.IsNotNull(cmd);
            Assert.IsInstanceOfType(cmd, typeof(CreateDatabaseCommand));

            CreateDatabaseCommand create = (CreateDatabaseCommand)cmd;

            Assert.AreEqual("Northwind", create.Name);
        }
コード例 #6
0
        public void CreateDatabaseCommand_Verify_2()
        {
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection)
            {
                Database    = "NEWIBIS",
                Description = "New catalog"
            };

            Assert.IsTrue(command.Verify(false));
        }
コード例 #7
0
        static void Main(string[] args)
        {
            if (args == null || args.Length < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(args));
            }

            Console.WriteLine(string.Join(" ", args));

            switch (args[0])
            {
            case "create-db":
                CreateDatabaseCommand.RunAsync(CancellationToken.None).Wait();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(args));
            }
        }
コード例 #8
0
        public void CreateDatabaseCommand_Properties_1()
        {
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection);
            string database = "NEWIBIS";

            command.Database = database;
            Assert.AreEqual(database, command.Database);
            string description = "New catalog";

            command.Description = description;
            Assert.AreEqual(description, command.Description);
            command.ReaderAccess = true;
            Assert.IsTrue(command.ReaderAccess);
            string template = "IBIS";

            command.Template = template;
            Assert.AreEqual(template, command.Template);
        }
コード例 #9
0
 public IndexDatabaseSettingProvider(
     FastAdapter adapter,
     ProviderOptionManager optionManager,
     IConfigurationBuilder builder,
     IApplicationManager applicationManager,
     CreateDatabaseCommand createDatabaseCommand,
     DropDatabaseCommand dropDatabaseCommand,
     MigrateUpCommand migrateUpCommand,
     MigrateDownCommand migrateDownCommand,
     GenerateMigrationCommand generateMigrationCommand,
     IEventAggregator eventAggregator) : base(optionManager)
 {
     this.adapter                  = adapter;
     this.builder                  = builder;
     this.applicationManager       = applicationManager;
     this.createDatabaseCommand    = createDatabaseCommand;
     this.dropDatabaseCommand      = dropDatabaseCommand;
     this.migrateUpCommand         = migrateUpCommand;
     this.migrateDownCommand       = migrateDownCommand;
     this.generateMigrationCommand = generateMigrationCommand;
     this.eventAggregator          = eventAggregator;
     this.LoadOptions();
 }
コード例 #10
0
        public void CreateDatabaseCommand_ExecuteRequest_1()
        {
            int returnCode = 0;
            Mock <IIrbisConnection> mock       = GetConnectionMock();
            IIrbisConnection        connection = mock.Object;
            CreateDatabaseCommand   command    = new CreateDatabaseCommand(connection)
            {
                Database    = "NEWIBIS",
                Description = "New catalog"
            };
            ResponseBuilder builder = new ResponseBuilder()
                                      .StandardHeader(CommandCode.CreateDatabase, 123, 456)
                                      .NewLine()
                                      .Append(returnCode)
                                      .NewLine();
            TestingSocket socket = (TestingSocket)connection.Socket;

            socket.Response = builder.Encode();
            ClientQuery    query    = command.CreateQuery();
            ServerResponse response = command.Execute(query);

            Assert.AreEqual(returnCode, response.ReturnCode);
        }
コード例 #11
0
ファイル: DatabaseService.cs プロジェクト: fuutou89/uFrame
        public void Execute(CreateDatabaseCommand command)
        {
            if (Directory.Exists(command.Name))
            {
                throw new Exception(string.Format("Database {0} already exists.", command.Name));
            }
            var dbDir  = Directory.CreateDirectory(Path.Combine(DbRootPath, command.Name + ".db"));
            var db     = new TypeDatabase(new JsonRepositoryFactory(dbDir.FullName));
            var config = GetConfig(db, command.Name);

            config.Namespace      = command.Namespace;
            config.Title          = command.Name;
            config.CodeOutputPath = command.CodePath;
            config.Namespace      = command.Namespace ?? config.Namespace;
            config.FullPath       = dbDir.FullName;
            config.Database       = db;
            db.Commit();
            CurrentDatabaseIdentifier   = config.Identifier;
            InvertApplication.Container = null;
            if (InvertApplication.Container != null)
            {
                InvertApplication.SignalEvent <INotify>(_ => _.Notify(command.Name + " Database " + " has been created!", NotificationIcon.Info));
            }
        }
コード例 #12
0
ファイル: CouchClient.cs プロジェクト: dustinupdyke/ottoman
        public void CreateDatabase(string name)
        {
            var createDatabaseCommand = new CreateDatabaseCommand(name);

            CouchProxy.Execute <CommandDefaultResult>(createDatabaseCommand);
        }
コード例 #13
0
        public TransferObject ReadCommand(string line)
        {
            var to = new TransferObject();

            try
            {
                // split line to words
                var words = line
                            .Trim()
                            .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                // navigate through databases
                if (words[0] == "#")
                {
                    ChangeDatabase(words[1]);
                }
                // show info
                if (words[0].ToLower() == "/info")
                {
                    var res     = $"Uptime: {_stopwatch.Elapsed}. Version: {_settings.Version}.";
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //show databases tree
                if (line.ToLower() == "/show databases")
                {
                    var res     = GetSchemes();
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //show databases sizes
                if (line.ToLower() == "/show databases size")
                {
                    var res     = GetDBSizes();
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //if create database
                if (words[0].ToLower() == "create" && words[1].ToLower() == "database")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var cmd = new CreateDatabaseCommand(words);
                    var res = CreateDatabase(cmd.DatebaseName);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                //if drop database
                if (words[0].ToLower() == "drop" && words[1].ToLower() == "database")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var cmd = new DropDatabaseCommand(words);
                    var res = DropDatabase(cmd.DatebaseName);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                // if create table command
                if (words[0].ToLower() == "create" && words[1].ToLower() == "table")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.CreateTable(line);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                // if insert into
                if (words[0].ToLower() == "insert" && words[1].ToLower() == "into")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.InsertIntoTable(line);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                    var resData = new ResultData
                    {
                        Message  = JsonConvert.SerializeObject(res, Formatting.Indented),
                        DataType = ResultDataType.Message
                    };
                    to.Data = resData;
                    return(to);
                }
                // if select from
#warning 'Rewrite condition'
                if (words[0].ToLower() == "select")
                {
//#if Debug
//                    ChangeDatabase("DBtest");
//#endif
                    string info = "";
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.SelectFromTable(words, out info);
                    CommandLine.ShowData(res);
                    _logger.LogInformation($"{info}.");
                    CommandLine.WriteInfo(info);
                    res.DataType = ResultDataType.DataSet;
                    var d = res.Values.ToList();
                    d.AddRange(res.Values);//
                    d.AddRange(res.Values);
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.DataSet,
                        Headers  = res.Headers,
                        Values   = res.Values
                    };
                    to.Data = resData;
                    to.Time = info;
                    return(to);
                }
                return(to);
            }
            catch (Error error)
            {
                CommandLine.WriteError($"{error}");
                _logger.LogError($"{error}");
                var err = new ErrorData
                {
                    Message = $"{error}"
                };
                to.Error = err;
                return(to);
            }
            catch (Exception ex)
            {
                CommandLine.WriteError($"System exeption, see log files.");
#if DEBUG
                CommandLine.WriteError($"{ex}");
#endif
                _logger.LogCritical($"{ex}");
                var err = new ErrorData
                {
                    Message = $"{ex}"
                };
                to.Error = err;
                return(to);
            }
        }