Пример #1
0
        public static SubmitSettings CreateSubmitSettings(string teamName, string teamSubmitDirName, string assignmentId)
        {
            SubmitSettings submitSettings = new SubmitSettings();

            submitSettings.TeamId       = teamName;
            submitSettings.BasePath     = teamSubmitDirName;
            submitSettings.TimeStamp    = DateTime.Now;
            submitSettings.AssignmentId = assignmentId;
            return(submitSettings);
        }
Пример #2
0
 public SubmitController(ISubmitService submitService,
                         ILogger <SubmitController> logger,
                         IUserRepository userRepository,
                         IOptions <SubmitSettings> submitSettings)
 {
     this.submitService  = submitService;
     this.logger         = logger;
     this.userRepository = userRepository;
     this.submitSettings = submitSettings.Value;
 }
Пример #3
0
 public SubmitService(IFightClient fightClient,
                      IImageClient imageClient,
                      ITestBotsRepository testBotsRepository,
                      IOptions <SubmitSettings> submitSettings,
                      IUserRepository userRepository)
 {
     this.fightClient        = fightClient;
     this.imageClient        = imageClient;
     this.testBotsRepository = testBotsRepository;
     this.userRepository     = userRepository;
     this.submitSettings     = submitSettings.Value;
 }
Пример #4
0
        public void GetDllName_SomeValues_TEAM01_22_20091012_134434777()
        {
            SubmitSettings set = new SubmitSettings();
            set.TeamId = "TEAM01";
            DateTime dt = new DateTime(2009, 10, 12, 13, 44, 34, 777);
            set.TimeStamp = dt;
            string basePath = @"c:\temp\";
            set.BasePath = basePath;
            set.AssignmentId = "22";

            Assert.AreEqual("TEAM01", set.TeamId);
            Assert.AreEqual(basePath, set.BasePath);
            Assert.AreEqual(dt, set.TimeStamp);
            Assert.AreEqual("22", set.AssignmentId);

            Assert.AreEqual("TEAM01_22_20091012_134434777.dll", set.GetDllName());
        }
Пример #5
0
        private static void ProcessTeamSubmit(ValidationProcess validationProcess, SystemSettings sysSettings)
        {
            Submit submit         = validationProcess.Submit;
            string teamName       = submit.Team.Name;
            string assignmentName = submit.TournamentAssignment.Assignment.Name;

            Log(string.Format("Processing teamsubmit {0} for assignment {1}", teamName, assignmentName));

            //create the processor
            SubmitValidator validator = new SubmitValidator(new MoCS.BuildService.Business.FileSystemWrapper(), new ExecuteCmd());

            validationProcess.SetProcessor(validator);

            //prepare directory and files for processing
            string       teamSubmitDirName = CreateTeamDirectory(sysSettings, teamName, submit.TournamentAssignment.Assignment);
            ClientFacade facade            = new ClientFacade();

            MoCS.Business.Objects.Assignment assignment = facade.GetAssignmentById(submit.TournamentAssignment.Assignment.Id, true);
            CopyFiles(assignment, submit, teamSubmitDirName, sysSettings);

            //START PROCESSING

            //settings that are read from the assignment
            AssignmentSettings assignmentSettings = SettingsFactory.CreateAssignmentSettings(assignment, assignmentName);
            //settings that are from the submitprocess/team submit
            SubmitSettings submitSettings = SettingsFactory.CreateSubmitSettings(teamName, teamSubmitDirName, assignmentName);

            //set status of submit to 'processing'
            facade.UpdateSubmitStatusDetails(submit.Id, SubmitStatus.Processing, "This submitted is currently processed.", DateTime.Now);

            ValidationResult result = validator.Process(sysSettings, assignmentSettings, submitSettings);

            validationProcess.Result = result;

            Log(result.Status + " for " + submit.Team.Name + " on " + submit.TournamentAssignment.Assignment.Name);

            //save the new status to the database
            SaveStatusToDatabase(validationProcess.Submit, result);

            // Delete nunit.framework.dll from the submit dir to keep things clean
            CleanupFiles(teamSubmitDirName);
        }
Пример #6
0
        public void GetDllName_SomeValues_TEAM01_22_20091012_134434777()
        {
            SubmitSettings set = new SubmitSettings();

            set.TeamId = "TEAM01";
            DateTime dt = new DateTime(2009, 10, 12, 13, 44, 34, 777);

            set.TimeStamp = dt;
            string basePath = @"c:\temp\";

            set.BasePath     = basePath;
            set.AssignmentId = "22";

            Assert.AreEqual("TEAM01", set.TeamId);
            Assert.AreEqual(basePath, set.BasePath);
            Assert.AreEqual(dt, set.TimeStamp);
            Assert.AreEqual("22", set.AssignmentId);

            Assert.AreEqual("TEAM01_22_20091012_134434777.dll", set.GetDllName());
        }