def test_set(self): file = open(IO.filepath('test.json'), 'w') file.close() io = IO('test.json') io.set('{"data":[{"a":1}]}') self.assertEqual(io.get(), '{"data":[{"a":1}]}') io.set(1) self.assertEqual(io.get(), 1)
def get_all(self): operation = IO(self.__defaultfile) person_events = [] for person_event in operation.get(): person_events.append(PersonEvent(person_event['person_id'], person_event['event_id'], person_event['date'])) return person_events
def insert(self, person_event): operation = IO(self.__defaultfile) try: person_events = operation.get() except ValueError: person_events = [] person_events.append(person_event.get_serialization()) operation.set(person_events)
def get_all(self): ''' Returns all events from disk storage :return: ''' operation = IO(self.__datafile) events = [] for event in operation.get(): instance = Event(event['date'], event['time'], event['description'], event['id']) events.append(instance) return events
def get(self, id): ''' Returns an event with provided ID from disk storage :param id: :return: Event instance ''' operation = IO(self.__datafile) for event in operation.get(): if event['id'] == id: return Event(event['date'], event['time'], event['description'], event['id']) raise ValueError('Event not found!')
def get_all(self): ''' Returns all persons from disk storage :return: ''' operation = IO(self.__defaultfile) people = [] for person in operation.get(): person_instance = Person(person['first_name'], person['last_name'], person['address'], person['id']) people.append(person_instance) return people
def delete(self, person): ''' Deletes a person from disk storage :param deleted_event: :return: ''' operation = IO(self.__defaultfile) people = operation.get() for per in people: if per['id'] == person.get_id(): people.remove(per) operation.set(people)
def update(self, person): ''' Updates a person into disk storage :param updated_event: :return: ''' operation = IO(self.__defaultfile) people = operation.get() for per in people: if per['id'] == person.get_id(): people[people.index(per)] = person.get_serialization() operation.set(people)
def test_insert(self): repo = PersonEventRepository() person_event = PersonEvent(25, 61) repo.insert(person_event) person_events = repo.get_by_id(25, 61) self.assertEqual(len(person_events), 1) # Remove last appended object io = IO('person_event.json') updated_person_events = io.get() updated_person_events.pop() io.set(updated_person_events)
def delete(self, deleted_event): ''' Deletes an event from disk storage :param deleted_event: :return: ''' operation = IO(self.__datafile) events = operation.get() for event in events: if event['id'] == deleted_event.get_id(): events.remove(event) break operation.set(events)
def update(self, updated_event): ''' Updates an event into disk storage :param updated_event: :return: ''' operation = IO(self.__datafile) events = operation.get() for event in events: if event['id'] == updated_event.get_id(): events[events.index(event)] = updated_event.get_serialization() break operation.set(events)
def test_read(self): file = open(IO.filepath('test.json'), 'w') file.write('1,2,3,,5') file.close() io = IO('test.json') with self.assertRaisesRegex(ValueError, 'The content of test.json is not valid!'): io.get() file = open(IO.filepath('test.json'), 'w') file.write('invalid json') file.close() io = IO('test.json') with self.assertRaisesRegex(ValueError, 'The content of test.json is not valid!'): io.get() file = open(IO.filepath('test.json'), 'w') file.write('[]') file.close() self.assertEqual(io.get(), []) os.remove(IO.filepath('test.json'))
def insert(self, person): ''' Add a person object into disk storage :param event: :return: None ''' operation = IO(self.__defaultfile) try: people = operation.get() except ValueError: people = [] people.append(person.get_serialization()) operation.set(people)
def test_insert(self): io = IO('test.json') io.set([]) event = Event('14/01/2015', '14:00', 'Colectiv') EventRepository('test.json').insert(event) content = io.get() self.assertIs(type(content), list) stored_event = content[0] self.assertEqual(stored_event['date'], '14/01/2015') self.assertEqual(stored_event['time'], '14:00') self.assertEqual(stored_event['description'], 'Colectiv')
def insert(self, event): ''' Add an event object into disk storage :param event: :return: None ''' operation = IO(self.__datafile) try: data = operation.get() except ValueError: data = [] data.append(event.get_serialization()) operation.set(data)
def test_insert(self): io = IO('test.json') io.set([]) Person.set_class_id(0) person = Person('Vasile', 'Pop', 'Str. Calea Floresti, nr. 24') repo = PersonRepository('test.json') repo.insert(person) people = io.get() person = people[0] self.assertEqual(len(people), 1) self.assertEqual(person['id'], 0) self.assertEqual(person['first_name'], 'Vasile') self.assertEqual(person['last_name'], 'Pop') self.assertEqual(person['address'], 'Str. Calea Floresti, nr. 24')
def get_by_id(self, person_id = None, event_id = None): operation = IO(self.__defaultfile) person_events = [] for person_event in operation.get(): if person_id is not None and event_id is not None: if person_event['person_id'] == person_id and person_event['event_id'] == event_id: return [PersonEvent(person_id, event_id, person_event['date'])] elif person_id is None: if person_event['event_id'] == event_id: person_events.append(PersonEvent(person_event['person_id'], event_id, person_event['date'])) else: if person_event['person_id'] == person_id: person_events.append(PersonEvent(person_id, person_event['event_id'], person_event['date'])) return person_events