def test1(self): val = Validators() eventRepo = EventRepository() personRepo = PersonRepository() atdRepo = AttendingRepository() ctrl = AttentingCtrl(val, eventRepo, personRepo, atdRepo) p1 = Person(1, "Paul", "Cluj") p2 = Person(2, "Vasile", "Cluj") e1 = Event(1, "123", "345", "descXY") e2 = Event(2, "123", "345", "descJF") e3 = Event(3, "123", "345", "descAB") personRepo.add(p1) personRepo.add(p2) eventRepo.add(e1) eventRepo.add(e2) eventRepo.add(e3) ctrl.attend(1, 1) ctrl.attend(1, 3) ctrl.attend(2, 1) ctrl.attend(2, 2) ctrl.attend(2, 3) self.assertRaises(KeyError, ctrl.attend, 1, 1)
def __readFromFile(self): try: f = open(self.__fName, 'r') line = f.readline().strip() while line != "": args = line.split(",") person = Person(args[0], args[1], args[2]) PersonRepository.add(self, person) line = f.readline().strip() except IOError: raise FileRepoException("sth is not ok... ") finally: f.close()
def add_person(): with Connection().session() as session: new_person = PersonSchema().load(request.get_json(), session=session) PersonRepository(session).insert(new_person) session.commit() return jsonify(PersonSchema().dump(new_person))
def get_id_person(id): with Connection().session() as session: id_person = PersonRepository(session).get_id(id) if id_person: return jsonify(PersonSchema().dump(id_person)) else: raise InvalidRequest('Person not found', 404)
class PersonResource(Resource): repository = PersonRepository() @jwt_required() def post(self): data = request.get_json() person = self.repository.save(data['name'], data['email']) json_data = { 'id': person.id, 'name': person.name, 'email': person.email } return {'person': json_data}, 201 @jwt_required() def get(self): persons = self.repository.find_all() persons_json = [] for p in persons: person = {'id': p.id, 'name': p.name, 'email': p.email} persons_json.append(person) return {'persons': persons_json}
def delete_id_person(id): with Connection().session() as session: debts_person = DebtsRepository(session).get_debts_by_person_id(id) if debts_person: raise InvalidRequest('This person has debts.') id_person = PersonRepository(session).delete_id(id) return jsonify(PersonSchema().dump(id_person))
def __writeToFile(self): f = open(self.__fName, 'w') persons = PersonRepository.get_all(self) for p in persons: pers = str(p.id) + "," + p.immunization + "," + p.status pers += "\n" f.write(pers) f.close()
def update_id_person(id): with Connection().session() as session: person = request.get_json() person['id'] = id update = PersonSchema().load(request.get_json(), session=session) id_person = PersonRepository(session).update(update) return jsonify(PersonSchema().dump(id_person))
def delete_id_person(id): with Connection().session() as session: property_person = PropertyRepository( session).get_property_by_person_id(id) if property_person: raise InvalidRequest('This person has property.') id_person = PersonRepository(session).delete_id(id) return jsonify(PersonSchema().dump(id_person))
def patch_id_person(id): name = request.json['name'] document = request.json['document'] address = request.json['address'] with Connection().session() as session: id_person = PersonRepository(session).patch_id(id, name, document, address) return jsonify(PersonSchema().dump(id_person))
def test_all(self): person_repository = PersonRepository() pers_cont = PersonController(person_repository) p1 = Person(1, "nonvaccinated", "healthy") p2 = Person(1, "vaccinated", "healthy") p3 = Person(1, "nonvaccinated", "healthy") pers_cont.add(p1) pers_cont.add(p2) pers_cont.add(p3) self.assertEqual(p1, p3) self.assertNotEqual(p1, p2) self.assertEqual(len(pers_cont.return_all()), 3)
class PersonFindResource(Resource): repository = PersonRepository() def get(self, id): person = self.repository.find_one(id) if person == None: return {'data': 'not found'} person_json = { 'id': person.id, 'name': person.name, 'email': person.email } return {'person': person_json}, 200
def test_create_person_service(self): ''' Function to test the person service create method ''' val = PersonValidator() repo = PersonRepository(val) person_service = PersonService(repo) person = person_service.create_person("1", "Badita", "Valcea") self.assertEqual(person.get_id_pers(), "1") self.assertEqual(person.get_adr(), "Valcea") self.assertEqual(person.get_name(), "Badita") allPeople = person_service.get_all_people_service() self.assertEqual(len(allPeople), 1) with self.assertRaises(Exception): person = person_service.create_person("1", "Adi", "Baia Mare") with self.assertRaises(Exception): person = person_service.create_person("", "", "")
def test_person_repo(self): ''' Function to test the person repository store ''' person = Person('1', "Ion", "Arad") repo = PersonRepository(PersonValidator) self.assertEqual(repo.size(), 0) repo.store_person(person) self.assertEqual(repo.size(), 1) person = Person('2', "Andrei", "Valcea") repo.store_person(person) self.assertEqual(repo.size(), 2) repo.delete_person(person.get_id_pers()) self.assertEqual(repo.size(), 1)
def __init__(self, fileName): PersonRepository.__init__(self) self.__fName = fileName self.__readFromFile()
def add(self, person): PersonRepository.add(self, person) self.__writeToFile()
def remove(self, person): PersonRepository.remove(self, person) self.__writeToFile()
def get_all_person(): with Connection().session() as session: all_person = PersonRepository(session).get_all() return jsonify(PersonSchema(many=True).dump(all_person))
@author: Geo ''' from domain.validator import PersonValidator, EventValidator from repository.file_repo import PersonFileRepository, EventFileRepository, AssignmentFileRepository from repository.event_repository import EventRepository from repository.person_repository import PersonRepository from services.person_service import PersonService from services.event_service import EventService from ui.console_ui import ConsoleUI from repository.assignment_repository import AssignRepository from services.assignment_service import AssignmentService person_val = PersonValidator() event_val = EventValidator() person_rep = PersonRepository(person_val) event_rep = EventRepository(event_val) assig_rep = AssignRepository() ''' person_rep = PersonFileRepository("testpeople.txt") person_rep.removeAll() event_rep = EventFileRepository("testevents.txt") event_rep.removeAll() assig_rep = AssignmentFileRepository("testassig.txt") assig_rep.removeAll() ''' ctr_person = PersonService(person_rep) ctr_event = EventService(event_rep) ctr_assign = AssignmentService(assig_rep) user_interface = ConsoleUI(ctr_event, ctr_person, ctr_assign)