Esempio n. 1
0
        public void TestMethod1()
        {
            Assembly assemblyFile = AppDomain.CurrentDomain.GetAssemblies().SingleOrDefault(
                assembly => assembly.GetName().Name == "TXSoftware.DataObjectsNetEntityModel.DBProvider.Xtensive");

            //Assembly assembly = Assembly.LoadFrom(mock_ModuleFileXtensiveFile);
            if (assemblyFile == null)
            {
                assemblyFile = Assembly.LoadFrom(mock_ModuleFileXtensiveFile);
            }
            Assert.IsNotNull(assemblyFile);

            IDBProviderModule module;
            bool loadResult = DBProviderManager.Instance.LoadModule(assemblyFile, out module);

            Assert.IsTrue(loadResult);
            Assert.IsNotNull(module);
            DBProviderModule dbProviderModule = (DBProviderModule)module;

            Assert.IsNotNull(dbProviderModule);

            dbProviderModule.mock_implementationFileFolder = mock_ModuleFileXtensiveFolder;

            DBProviderManager.Instance.InitModules();

            Application.EnableVisualStyles();

            FormImportDBSchema.ResultData resultData;
            bool dialogShow = FormImportDBSchema.DialogShow(out resultData);
        }
Esempio n. 2
0
        public void Test_Load_Xtensive_DBProvider()
        {
            TestLogger       logger         = new TestLogger("Test_Load_Xtensive_DBProvider");
            DBProviderModule xtensiveModule = new DBProviderModule();

            //xtensiveModule.mock_implementationFileFolder = @"c:\Projects\Private\xp-dev.com\doemd\Sources\DBProviders\DBProvider.Xtensive.Implementation\bin\Debug\";
            xtensiveModule.mock_implementationFileFolder = @"d:\Projects\Private\xp.dev.com\doemd\Sources\DBProviders\DBProvider.Xtensive.Implementation\bin\Debug\";
            bool result = xtensiveModule.Initialize();

            try
            {
                Assert.IsTrue(result, "Initialization of Xtensive's 'DBProviderModule' failed. Last errors: " +
                              string.Join(Environment.NewLine, xtensiveModule.LastErrors.Select(ex => ex.Message)));

                Assert.IsNotNull(xtensiveModule.Providers, "Xtensive's 'DBProviderModule' returns null list of providers.");
                Assert.AreNotEqual(xtensiveModule.Providers.Length, 0, "Xtensive's 'DBProviderModule' returns zero providers.");

                IDBProvider dbProvider = xtensiveModule.Providers.First();

                var connectionInfo = dbProvider.ConnectionInfoProvider.CreateInfo(new StorageEngine("sqlserver"), "sa", "halo", "localhost", "TheConsole");
                try
                {
                    bool connected = dbProvider.Connect(connectionInfo);
                    Assert.IsTrue(connected, "Connection to sql server failed.");

                    ServerCollection servers = dbProvider.GetAllServers(LoadingMode.TopLevel);
                    Assert.IsNotNull(servers, "dbProvider.GetAllServers returns null");
                    Assert.AreNotEqual(servers.Count, 0, "dbProvider.GetAllServers returns empty list of servers.");

                    logger.Log("Provider '{0}' retrieved {1} servers", dbProvider.Name, servers.Count);
                    foreach (var server in servers)
                    {
                        logger.Log("\tserver '{0}'", server.Name);
                    }

                    Server serverLocalhost = servers["localhost"];
                    bool   refreshResult   = dbProvider.Refresh(serverLocalhost, LoadingMode.TopLevel);
                    Assert.IsTrue(refreshResult, "Refreshing details about server 'localhost' failed");

                    logger.Log("\tProvider '{0}' refreshed {1} databases for server '{2}'", dbProvider.Name, serverLocalhost.Databases.Count, serverLocalhost.Name);
                    foreach (var database in serverLocalhost.Databases)
                    {
                        logger.Log("\t\tdatabase '{0}'", database.Name);
                        refreshResult = dbProvider.Refresh(database, LoadingMode.TopLevel);
                        Assert.IsTrue(refreshResult, string.Format("Refreshing details about database '{0}' failed", database.Name));

                        logger.Log("\t\tProvider '{0}' refreshed {1} schemas for database '{2}'", dbProvider.Name, database.Schemas.Count, database.Name);
                        foreach (var schema in database.Schemas)
                        {
                            logger.Log("\t\t\tschema '{0}'", schema.Name);
                        }
                    }
                }
                finally
                {
                    dbProvider.Disconnect();
                    Assert.IsFalse(dbProvider.IsConnected, "DbProvider is still connected after 'Disconnect' method called.");
                }
            }
            finally
            {
                xtensiveModule.Deinitialize();
            }
        }