Beispiel #1
0
    def test_get_plant_data(self):
        """Plant data should be loaded from plantingcompanion/plants.json file,
        and parsed correctly to be used by Garden objects.
        """
        plant_data = helpers.get_plant_data()

        # Current there are 68 plants in data.
        self.assertEqual(len(plant_data), 68)
Beispiel #2
0
    def test_get_plant_data(self):
        """Plant data should be loaded from plantingcompanion/plants.json file,
        and parsed correctly to be used by Garden objects.
        """
        plant_data = helpers.get_plant_data()

        # Current there are 68 plants in data.
        self.assertEqual(len(plant_data), 68)
Beispiel #3
0
    def test_plants(self):
        rv = self.app.get('/plants')
        obj = json.loads(rv.get_data().decode())

        plant_values = helpers.get_plant_data()
        plants = list(plant_values.keys())
        plants.sort()

        self.assertEqual(obj, plants)
Beispiel #4
0
    def test_plants(self):
        rv = self.app.get('/plants')
        obj = json.loads(rv.get_data().decode())

        plant_values = helpers.get_plant_data()
        plants = list(plant_values.keys())
        plants.sort()

        self.assertEqual(obj, plants)
Beispiel #5
0
#!/usr/bin/env python
"""
API endpoints to list, process, and return data for optimal garden layouts.
"""
from flask import Flask
from flask_restful import reqparse, abort, Api, Resource

from plantingcompanion import helpers, garden

PLANT_VALUES = helpers.get_plant_data()

app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()


def set_garden_arguments():
    """
    Sets POST args for /garden API endpoint.
    """
    parser.add_argument('length', type=int, required=True)
    parser.add_argument('width', type=int, required=True)
    for plant in PLANT_VALUES.keys():
        parser.add_argument(plant, type=int, default=0)

set_garden_arguments()


class Plants(Resource):