protected LanguageForgeProject(LfMergeSettingsIni settings, string projectCode)
 {
     _settings = settings;
     _projectCode = projectCode.ToLowerInvariant();
     _state = ProcessingState.Deserialize(projectCode);
     IsInitialClone = false;
 }
        public TestEnvironment(bool registerSettingsModelDouble = true,
			bool registerProcessingStateDouble = true,
			bool resetLfProjectsDuringCleanup = true,
			TemporaryFolder languageForgeServerFolder = null,
			bool registerLfProxyMock = true)
        {
            _resetLfProjectsDuringCleanup = resetLfProjectsDuringCleanup;
            _languageForgeServerFolder = languageForgeServerFolder ?? new TemporaryFolder(TestName + Path.GetRandomFileName());
            Environment.SetEnvironmentVariable("FW_CommonAppData", _languageForgeServerFolder.Path);
            MainClass.Container = RegisterTypes(registerSettingsModelDouble,
                registerProcessingStateDouble, _languageForgeServerFolder.Path,
                registerLfProxyMock).Build();
            Settings = MainClass.Container.Resolve<LfMergeSettingsIni>();
            MainClass.Logger = MainClass.Container.Resolve<ILogger>();
            Directory.CreateDirectory(Settings.ProjectsDirectory);
            Directory.CreateDirectory(Settings.TemplateDirectory);
            Directory.CreateDirectory(Settings.StateDirectory);
            _mongoConnection = MainClass.Container.Resolve<IMongoConnection>() as MongoConnectionDouble;
        }
 public LanguageDepotMock(LfMergeSettingsIni settings, string projectCode)
     : base(settings, projectCode)
 {
 }
Beispiel #4
0
 public NoneAction(LfMergeSettingsIni settings, ILogger logger)
     : base(settings, logger)
 {
 }
 // TODO: Need to grab a MongoConnection as well
 public LanguageDepotProject(LfMergeSettingsIni settings, ILogger logger)
 {
     Logger = logger;
     Settings = settings;
 }
Beispiel #6
0
 public void SetUpForFdoTests()
 {
     LanguageForgeFolder = new TemporaryFolder("FdoTestFixture");
     env = new TestEnvironment(
         resetLfProjectsDuringCleanup: false,
         languageForgeServerFolder: LanguageForgeFolder
     );
     Settings = new LfMergeSettingsDouble(LanguageForgeFolder.Path);
     TestEnvironment.CopyFwProjectTo(testProjectCode, Settings.DefaultProjectsDirectory);
     lfProj = LanguageForgeProject.Create(Settings, testProjectCode);
 }
 public EnsureCloneActionWithoutMongo(LfMergeSettingsIni settings, ILogger logger)
     : base(settings, logger)
 {
 }
Beispiel #8
0
 public CommitAction(LfMergeSettingsIni settings, ILogger logger)
     : base(settings, logger)
 {
 }
Beispiel #9
0
 public FwProject(LfMergeSettingsIni settings, string database)
 {
     _project = new ProjectIdentifier(settings, database);
     _fdoUi = new ConsoleFdoUi(_progress.SynchronizeInvoke);
     Cache = TryGetFdoCache();
 }
 public TransferMongoToFdoAction(LfMergeSettingsIni settings, ILogger logger, IMongoConnection conn, MongoProjectRecordFactory factory)
     : base(settings, logger)
 {
     _connection = conn;
     _projectRecordFactory = factory;
 }
Beispiel #11
0
 public QueueDouble(LfMergeSettingsIni settings, QueueNames name)
     : base(settings, name)
 {
 }
Beispiel #12
0
        private static bool CheckSetup(LfMergeSettingsIni settings)
        {
            var homeFolder = Environment.GetEnvironmentVariable("HOME") ?? "/var/www";
            string[] folderPaths = new[] { Path.Combine(homeFolder, ".local"),
                Path.GetDirectoryName(settings.WebWorkDirectory) };
            foreach (string folderPath in folderPaths)
            {
                if (!Directory.Exists(folderPath))
                {
                    Logger.Notice("Folder '{0}' doesn't exist", folderPath);
                    return false;
                }
            }

            return true;
        }
        public static LanguageForgeProject Create(LfMergeSettingsIni settings, string projectCode)
        {
            LanguageForgeProject project;
            if (CachedProjects.TryGetValue(projectCode, out project))
                return project;

            project = new LanguageForgeProject(settings, projectCode);
            CachedProjects.Add(projectCode, project);
            return project;
        }
 public void Setup()
 {
     _env = new TestEnvironment();
     _languageDepotFolder = new TemporaryFolder(TestContext.CurrentContext.Test.Name);
     _lDSettings = new LfMergeSettingsDouble(_languageDepotFolder.Path);
     Directory.CreateDirectory(_lDSettings.WebWorkDirectory);
     SynchronizeActionTests.LDProjectFolderPath =
         Path.Combine(_lDSettings.WebWorkDirectory, TestLangProj);
     Directory.CreateDirectory(SynchronizeActionTests.LDProjectFolderPath);
     _lfProject = LanguageForgeProject.Create(_env.Settings, TestLangProj);
     _synchronizeAction = new SynchronizeAction(_env.Settings, _env.Logger);
     _workDir = Directory.GetCurrentDirectory();
     SynchronizeActionTests.LDServer = new MercurialServer(SynchronizeActionTests.LDProjectFolderPath);
 }
Beispiel #15
0
 public SyslogProgress(ILogger logger, LfMergeSettingsIni settings)
 {
     Logger = logger;
     ShowVerbose = settings.VerboseProgress;
 }
 public TransferFdoToMongoAction(LfMergeSettingsIni settings, ILogger logger, IMongoConnection conn)
     : base(settings, logger)
 {
     _connection = conn;
 }
Beispiel #17
0
        public void Dispose()
        {
            if (_mongoConnection != null)
                _mongoConnection.Reset();

            MainClass.Container.Dispose();
            MainClass.Container = null;
            if (_resetLfProjectsDuringCleanup)
                LanguageForgeProjectAccessor.Reset();
            _languageForgeServerFolder.Dispose();
            Settings = null;

            DirectoryFinder.ResetStaticVars();
        }
        public void Setup()
        {
            _env = new TestEnvironment();
            _env.Settings.CommitWhenDone = true;
            _lfProject = LanguageForgeProject.Create(_env.Settings, testProjectCode);
            TestEnvironment.CopyFwProjectTo(testProjectCode, _env.Settings.WebWorkDirectory);

            // Guids are named for the diffs for the modified test project
            _testEntryGuid = Guid.Parse(testEntryGuidStr);
            _testCreatedEntryGuid = Guid.Parse(testCreatedEntryGuidStr);
            _testDeletedEntryGuid = Guid.Parse(testDeletedEntryGuidStr);

            _languageDepotFolder = new TemporaryFolder("SyncTestLD");
            _lDSettings = new LfMergeSettingsDouble(_languageDepotFolder.Path);
            Directory.CreateDirectory(_lDSettings.WebWorkDirectory);
            LDProjectFolderPath = Path.Combine(_lDSettings.WebWorkDirectory, testProjectCode);

            _mongoConnection = MainClass.Container.Resolve<IMongoConnection>() as MongoConnectionDouble;
            if (_mongoConnection == null)
                throw new AssertionException("Sync tests need a mock MongoConnection that stores data in order to work.");
            _recordFactory = MainClass.Container.Resolve<MongoProjectRecordFactory>() as MongoProjectRecordFactoryDouble;
            if (_recordFactory == null)
                throw new AssertionException("Sync tests need a mock MongoProjectRecordFactory in order to work.");

            _transferFdoToMongo = new TransferFdoToMongoAction(_env.Settings, _env.Logger, _mongoConnection);
        }
 public void Setup()
 {
     _env = new TestEnvironment();
     _languageDepotFolder = new TemporaryFolder(TestContext.CurrentContext.Test.Name);
     _lDSettings = new LfMergeSettingsDouble(_languageDepotFolder.Path);
     Directory.CreateDirectory(_lDSettings.WebWorkDirectory);
     SynchronizeActionTests.LDProjectFolderPath =
         Path.Combine(_lDSettings.WebWorkDirectory, TestContext.CurrentContext.Test.Name);
     Directory.CreateDirectory(SynchronizeActionTests.LDProjectFolderPath);
     _lfProject = LanguageForgeProject.Create(_env.Settings,
         TestContext.CurrentContext.Test.Name);
     _EnsureCloneAction = new EnsureCloneActionWithoutMongo(_env.Settings, _env.Logger);
 }