Esempio n. 1
0
        public void CreateStreamsTestingDatabase()
        {
            var sqlServerLocator = GetSqlServerLocator();
            var configuration    = SqlServerDatabaseDefinition.BuildDatabaseConfigurationUsingDefaultsAsNecessary("Streams", @"D:\SQL\");
            var createDatabaseOp = new CreateDatabaseOp(configuration, ExistingDatabaseStrategy.Throw);
            var protocol         = new SqlOperationsProtocol(sqlServerLocator);

            protocol.Execute(createDatabaseOp);
        }
Esempio n. 2
0
        public static void CreateDatabase_ExistingDatabaseTest()
        {
            var sqlServerLocatorCopy = GetSqlServerLocator();
            var sqlServerLocator     = sqlServerLocatorCopy.DeepCloneWithDatabaseName("Monkey");
            var protocol             = new SqlOperationsProtocol(sqlServerLocator);
            var configuration        = SqlServerDatabaseDefinition.BuildDatabaseConfigurationUsingDefaultsAsNecessary(sqlServerLocator.DatabaseName, @"D:\SQL\");

            var createDatabaseOpThrow = new CreateDatabaseOp(configuration, ExistingDatabaseStrategy.Throw);
            var createDatabaseOpSkip  = new CreateDatabaseOp(configuration, ExistingDatabaseStrategy.Skip);

            protocol.Execute(createDatabaseOpThrow);
            protocol.Execute(createDatabaseOpSkip);
            var ex = Record.Exception(() => protocol.Execute(createDatabaseOpThrow));
        }
Esempio n. 3
0
        /// <inheritdoc />
        public void Execute(
            CreateDatabaseOp operation)
        {
            operation.MustForArg(nameof(operation)).NotBeNull();

            // Change to master database since it is guaranteed to be there.
            var connectionString = this.sqlServerLocator
                                   .DeepCloneWithDatabaseName(SqlServerDatabaseManager.MasterDatabaseName)
                                   .BuildConnectionString(this.defaultConnectionTimeout);

            var sqlServerDatabaseDefinition = operation.Definition as SqlServerDatabaseDefinition;

            sqlServerDatabaseDefinition
            .MustForArg(Invariant($"{nameof(operation)}.{nameof(operation.Definition)}"))
            .NotBeNull(Invariant($"Only supporting: {typeof(SqlServerDatabaseDefinition).ToStringReadable()}."));
            SqlServerDatabaseManager.Create(connectionString, sqlServerDatabaseDefinition, operation.ExistingDatabaseStrategy, this.defaultCommandTimeout);
        }
        public void CreateStreamExampleDatabaseAndScripts()
        {
            var sqlServerLocator = new SqlServerLocator("localhost", "StreamExample3", "sa", "<password>", "SQLDEV2017");
            var configuration    = SqlServerDatabaseDefinition.BuildDatabaseConfigurationUsingDefaultsAsNecessary(sqlServerLocator.DatabaseName, @"D:\SQL\");
            var createDatabaseOp = new CreateDatabaseOp(configuration, ExistingDatabaseStrategy.Throw);
            var protocol         = new SqlOperationsProtocol(sqlServerLocator);

            protocol.Execute(createDatabaseOp);

            var resourceLocatorProtocol = new SingleResourceLocatorProtocols(sqlServerLocator);

            var configurationTypeRepresentation = typeof(NullJsonSerializationConfiguration).ToRepresentation();

            SerializerRepresentation defaultSerializerRepresentation = new SerializerRepresentation(
                SerializationKind.Json,
                configurationTypeRepresentation);

            var defaultSerializationFormat = SerializationFormat.String;
            var stream = new SqlStream(
                "Example",
                TimeSpan.FromMinutes(1),
                TimeSpan.FromMinutes(3),
                defaultSerializerRepresentation,
                defaultSerializationFormat,
                new JsonSerializerFactory(),
                resourceLocatorProtocol);

            stream.Execute(new StandardCreateStreamOp(stream.StreamRepresentation, ExistingStreamStrategy.Skip));

            this.testOutputHelper.WriteLine("Created database.");

            /*
             * var path = "D:/Temp/Example";
             * var connectionString = sqlServerLocator.BuildConnectionString(TimeSpan.FromSeconds(20));
             * Scripter.ScriptDatabaseToFilePath(connectionString, path, this.testOutputHelper.WriteLine, false);
             */
        }
Esempio n. 5
0
 /// <inheritdoc />
 public async Task ExecuteAsync(
     CreateDatabaseOp operation)
 {
     this.Execute(operation);
     await Task.FromResult(true); // just for the await...
 }