Beispiel #1
0
    def test_save(self):
        person = Person(1, "Ivan")

        validator = Validator()
        validator.is_valid = MagicMock(return_value=True)

        data_context = DataContext()
        data_context.save_person = MagicMock()
        person_service = PersonService(validator, data_context)
        person_service.save(person)

        validator.is_valid.assert_called_with(person)
        data_context.save_person.assert_called_once()
Beispiel #2
0
from flask import Blueprint, jsonify, request
from database_manager import DatabaseManager
from person_service import PersonService
from random_user_api import RandomUserApi
from pony.orm import *

person_api_blueprint = Blueprint('person_api', __name__)
db = DatabaseManager().initialize_database()
person_service = PersonService(db)


@person_api_blueprint.route('/api/persons', methods=['POST'])
def add_new_person():
    json = request.get_json()
    new_person = person_service.add_person(
        dict(first_name=json['first_name'], last_name=json['last_name']))
    response = jsonify(new_person.to_dict())
    response.status_code = 201
    return response


@person_api_blueprint.route('/api/persons/<int:person_id>', methods=['DELETE'])
def remove_person(person_id):
    try:
        person_service.remove_person(person_id)
        return ('', 204)
    except ObjectNotFound:
        return ('', 404)


@person_api_blueprint.route('/api/persons/<int:person_id>', methods=['GET'])
Beispiel #3
0

@app.route('/person/<ssn>', methods=['PUT'])
def put(ssn):
    output = person_service.update(ssn, request.json['name'])
    return jsonify({"result": output})


@app.route('/person/<ssn>', methods=['DELETE'])
def delete(ssn):
    count = person_service.delete(ssn)
    return jsonify({"result": {"deleted_count": count}})


@app.route('/person', methods=['POST'])
def post():
    person = Person(name=request.json['name'], ssn=request.json['ssn'])
    output = person_service.create(person)
    return make_response(jsonify({"result": output}), 400 if output.get('message') else 201)


if __name__ == '__main__':
    host = "mongodb://localhost"

    if os.environ.get('IN_DOCKER_CONTAINER', False):
        host = os.environ['DB_PORT_27017_TCP_ADDR']

    person_service = PersonService('peopledb', host=host, port=27017)

    app.run(debug=True, host='0.0.0.0')
 def setup_method(self):
     self.person_service = PersonService('testdb',
                                         host="mongomock://localhost",
                                         port=27017)
     self.db = connect('testdb', host="mongomock://localhost", port=27017)
Beispiel #5
0
import sqlite3
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///person.db"
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from person_service import PersonService

ps = PersonService()


@app.route("/persons", methods=["GET"])
def list_all_persons():
    return jsonify(ps.read_all())


@app.route("/persons", methods=["POST"])
def create_person():
    person_data = request.get_json()
    if not set(["first_name", "last_name", "email", "age"]) <= set(person_data.keys()):
        return "missing_required_fields", 400

    return ps.create(person_data), 201


@app.route("/persons/<person_id>", methods=["GET"])
        print("5. Salir\n")
        return int(input("Elija una opción: "))

    def menu_modificar(self):
        print("\n1. cambiar nombre")
        print("2. cambiar apellido")
        print("3. cambiar edad")
        print("4. retroceder\n")
        return int(input("Elija una opción: "))


if __name__ == '__main__':
    app = App()
    while True:
        opcion_person = app.menu_person()
        service = PersonService(app.persons_db)
        if opcion_person == 1:
            service.listar()
        if opcion_person == 2:
            service.agregar_person()
        if opcion_person == 3:
            modificar = app.menu_modificar()
            if modificar > 0 and modificar < 4:
                service.modificar(modificar)
            else:
                break
        if opcion_person == 4:
            service.eliminar()
        if opcion_person < 1 or opcion_person > 4:
            break