Exemplo n.º 1
0
        public void Execute_ValidLogFile_ProcessesFileAndRegistersJob()
        {
            LogFileModel logFile = DataHelper.CreateLogFileModel();

            string fileName = Path.GetRandomFileName() + ".log";
            string filePath = Path.Combine(AppContext.BaseDirectory, fileName);

            // save the text file
            using (Stream stream = TestAsset.ReadTextStream(TestAsset.LogFile))
            {
                var fileStream = File.Create(filePath);
                stream.Seek(0, SeekOrigin.Begin);
                stream.CopyTo(fileStream);
                fileStream.Close();
            }


            _logFileRepo.GetById(logFile.Id).Returns(logFile);

            // execute
            _processLogFileCommand.Execute(logFile.Id, filePath);

            // assert
            _createRequestBatchCommand.Received(1).Execute(logFile.Id, Arg.Any <IEnumerable <W3CEvent> >());
            _dbContext.Received(1).ExecuteNonQuery(Arg.Any <string>(), Arg.Any <object>());
            _jobRegistrationService.Received(1).RegisterResetProcessedLogFileJob(logFile.Id);
            _fileWrap.Received(1).Delete(filePath);
        }
        public void Load_FileExists_LoadsAndPopulatesStore()
        {
            // setup
            UserModel user = new UserModel();

            user.Id       = Guid.NewGuid();
            user.UserName = "******";
            user.Password = "******";
            user.Role     = Roles.Admin;

            byte[] key = new byte[20];
            new Random().NextBytes(key);
            ConnectionModel conn = new ConnectionModel();

            conn.Database = "MongoDb";
            conn.Host     = "myserver";
            conn.Key      = Convert.ToBase64String(key);
            conn.Password = "******";
            conn.Port     = new Random().Next(1000, 99999);
            conn.User     = "******";

            UserStore store = new UserStore(_path, _fileWrap, _dirWrap, _passwordProvider);

            store.Users.Add(user);
            store.Connections.Add(conn);
            string sUsers = JsonConvert.SerializeObject(store);

            _fileWrap.Exists(_path).Returns(true);
            _fileWrap.ReadAllText(_path).Returns(sUsers);

            // execute
            _userStore.Load();

            // assert
            _fileWrap.Received(1).Exists(_path);
            _fileWrap.Received(1).ReadAllText(_path);
            Assert.AreEqual(1, _userStore.Users.Count);
            Assert.AreEqual(user.Id, _userStore.Users[0].Id);
            Assert.AreEqual(user.UserName, _userStore.Users[0].UserName);
            Assert.AreEqual(Roles.Admin, _userStore.Users[0].Role);
            Assert.IsNotNull(_userStore.Users[0].Password);
            Assert.IsNotEmpty(_userStore.Users[0].Password);
        }