Пример #1
0
    def test_save_task_write_mode(self):
        # mode: write
        expected_tasks = [
            Task(status=TaskStatus.TODO, name='task1'),
            Task(status=TaskStatus.TODO, name='task1')
        ]
        expected_result = [
            f"{i},{task.status},{task.name}\n"
            for i, task in enumerate(expected_tasks)
        ]
        TaskManager(self.file_name)._save(tasks=expected_tasks)
        with open(self.file_name, 'r') as f:
            self.assertEqual(f.readlines(), expected_result)

        # mode: append
        additional_tasks = [
            Task(status=TaskStatus.TODO, name='task1'),
            Task(status=TaskStatus.TODO, name='task2')
        ]
        additional_expected_result = [
            f"{i},{task.status},{task.name}\n"
            for i, task in enumerate(expected_tasks + additional_tasks)
        ]
        TaskManager(self.file_name)._save(tasks=additional_tasks,
                                          is_append=True)
        # save_task(tasks=additional_tasks, is_append=True, file_name=self.file_name)
        with open(self.file_name, 'r') as f:
            self.assertEqual(f.readlines(), additional_expected_result)
Пример #2
0
 def setUp(self):
     self.task = Task("id0", 2, "%Y-%m-%d %H:%M:%S")
     header = "ip,date,time,zone,cik,accession,extention,code,size,idx,norefer,noagent,find,crawler,browser".split(
         ",")
     line = "101.81.133.jja,2017-06-30,00:00:00,0.0,1608552.0,0001047469-17-004337,-index.htm,200.0,80251.0,1.0,0.0,0.0,9.0,0.0,".split(
         ",")
     self.message = dict(zip(header, line))
Пример #3
0
 def test_get_last_index_from_tasks(self):
     tm = TaskManager(self.file_name)
     LAST_INDEX_NUMBER = 10
     tasks = [
         Task(status=TaskStatus.TODO, name='task1',
              index=LAST_INDEX_NUMBER),
         Task(status=TaskStatus.TODO, name='task2', index=5)
     ]
     tm.tasks = tasks
     self.assertEqual(tm._get_last_index_from_task(), LAST_INDEX_NUMBER)
Пример #4
0
    def test_list_task(self):
        expected_tasks = [
            Task(status=TaskStatus.TODO, name='task one', index=0),
            Task(status=TaskStatus.TODO, name='task two', index=1),
            Task(status=TaskStatus.TODO, name='task three', index=2),
        ]
        tm = TaskManager(self.file_name)

        input_tasks = ['task one', 'task two', 'task three']
        for task in input_tasks:
            tm.add(task)
        tm.save()
        actual_tasks = tm.load()
        self.assertEqual(expected_tasks, actual_tasks)
Пример #5
0
 def test_remove_task(self):
     tasks = [
         Task(status=TaskStatus.TODO, name='task1'),
         Task(status=TaskStatus.TODO, name='task2')
     ]
     tm = TaskManager(self.file_name)
     # tm._save(tasks)
     for task in tasks:
         tm.add(task)
     tm.save()
     tm.remove(0)
     indexed_task = tm.load()
     self.assertEqual(len(indexed_task), 1)
     self.assertEqual(indexed_task[0].name, 'task2')
Пример #6
0
class TestTask(unittest.TestCase):
    """Test unit operations of the Task class."""
    def setUp(self):
        self.task = Task("id0", 2, "%Y-%m-%d %H:%M:%S")
        header = "ip,date,time,zone,cik,accession,extention,code,size,idx,norefer,noagent,find,crawler,browser".split(
            ",")
        line = "101.81.133.jja,2017-06-30,00:00:00,0.0,1608552.0,0001047469-17-004337,-index.htm,200.0,80251.0,1.0,0.0,0.0,9.0,0.0,".split(
            ",")
        self.message = dict(zip(header, line))

    def test_clean(self):
        """Test :func:`Task.clean`."""
        self.assertDictEqual(
            self.task.clean(self.message), {
                'accession': '0001047469-17-004337',
                'browser': '',
                'cik': '1608552.0',
                'code': '200.0',
                'crawler': '0.0',
                'date': '2017-06-30',
                'datetime': datetime(2017, 6, 30, 0, 0),
                'extention': '-index.htm',
                'find': '9.0',
                'idx': '1.0',
                'ip': '101.81.133.jja',
                'noagent': '0.0',
                'norefer': '0.0',
                'size': '80251.0',
                'time': '00:00:00',
                'zone': '0.0'
            })

    def test_add(self):
        """Test :func:`Task.add`."""
        self.assertEqual(len(self.task), 0)
        self.task.add(self.message)
        self.assertEqual(len(self.task), 1)

    def test_flush(self):
        """Test :func:`Task.flush`."""
        self.task.messages = deque()
        self.task.add(self.message)
        self.assertEqual(len(self.task), 1)
        entry = self.task.flush(datetime.max)
        self.assertIsInstance(entry, deque)
        self.assertEqual(len(self.task), 0)
Пример #7
0
 def setUp(self):
     db.init_app(self.app)
     db.create_all()
     db.session.add(Task(name="have breakfast", status=0))
     db.session.add(Task(name="have lunch", status=0))
     db.session.commit()
Пример #8
0
from main import db, Task, User

db.drop_all()
# create new tables within db
db.create_all()

feng = User('*****@*****.**','cheese')
task1 = Task('finish ORM lesson 2', feng)
db.session.add(feng)
db.session.add(task1)

chris = User('*****@*****.**', '123')
task2 = Task('post lesson video', chris)
db.session.add(chris)
db.session.add(task2)

db.session.commit()

tasks = Task.query.all()
users = User.query.all()

tasks[0].name
users[0].tasks[0].name
Пример #9
0
 def run(self):
     for i in range(10):
         task = Task(title=fake.job(), content=fake.sentence(10))
         self.db.session.add(task)
Пример #10
0
from main import Person, Task

user1 = Person("Bruce", "Wayne")
task1 = Task("become the Batman", "7 years", "2005")
task2 = Task("defeat the Joker", "1 month", "2008")
task3 = Task("to retire", "1 year", "2012")

# add all tasks:
user1.add_new_task(task1)
user1.add_new_task(task2)
user1.add_new_task(task3)
print(user1.task_list)

#finish task1:
user1.complete_current_task(task1)
print(user1.task_list)

print(user1.completes_numbers())

print(user1.uncompletes_tasks())
user1.clear_tasks()