Пример #1
0
    def test_will_fail_if_cannot_find_repeated_segment_too_any_times(self):
        cuscar_schema = load_schema("schema_for_test.json")
        traverser = SchemaTraverser(cuscar_schema)

        self.assertEqual(
            traverser.find_segment_forward('UNB')[0]['code'], 'UNB')
        self.assertEqual(
            traverser.find_segment_forward('BGM')[0]['code'], 'BGM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')

        with self.assertRaises(Exception) as context:
            traverser.find_segment_forward('DTM')

        self.assertTrue('Segment not found DTM' in str(context.exception))
Пример #2
0
    def test_can_find_forward_by_segment_code_repeating_segments(self):
        cuscar_schema = load_schema("schema_for_test.json")
        traverser = SchemaTraverser(cuscar_schema)

        self.assertEqual(
            traverser.find_segment_forward('UNB')[0]['code'], 'UNB')
        self.assertEqual(
            traverser.find_segment_forward('BGM')[0]['code'], 'BGM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('DTM')[0]['code'], 'DTM')
        self.assertEqual(
            traverser.find_segment_forward('UNT')[0]['code'], 'UNT')
Пример #3
0
 def test(self):
     for test in tests:
         file = test['file']
         schema = load_schema(file)
         print(schema)
         self.assertTrue(test_array(test['passing'], schema, True))
         self.assertTrue(test_array(test['failing'], schema, False))
Пример #4
0
    def test_traverse_all_segment_codes_no_groups_no_loop(self):
        cuscar_schema = load_schema("schema_for_test.json")
        traverser = SchemaTraverser(cuscar_schema)

        all_segment_codes = [
            i['code'] for i in traverser.segment_generator(follow_loops=False)
        ]
        expected = ['UNA', 'UNB', 'BGM', 'DTM', 'UNT', 'UNZ']
        self.assertEqual(all_segment_codes, expected)
Пример #5
0
    def test_traverse_all_segment_codes_with_groups_and_loops(self):
        cuscar_schema = load_schema("schema_for_test2.json")
        traverser = SchemaTraverser(cuscar_schema)

        all_segment_codes = [
            i['code'] for i in traverser.segment_generator(follow_loops=True)
        ]

        expected = [
            'UNA', 'UNB', 'AUT', 'DTM', 'DTM', 'DTM', 'DTM', 'DTM', 'DTM',
            'DTM', 'DTM', 'DTM', 'RFF', 'RFF', 'RFF', 'RFF', 'RFF', 'RFF',
            'RFF', 'RFF', 'RFF', 'UNT', 'UNZ'
        ]
        self.assertEqual(all_segment_codes, expected)
Пример #6
0
def recipe(recipe_id=None):
    recipe_json = request.get_json()
    schema_dict = load_schema('data/recipe.schema.json')
    jsonschema.validate(schema_dict, recipe_json)

    for malt in recipe_json['malts']:
        d = {'name': malt['name']}
        mongo.db.malts.update(d, d, True)

    if request.method == 'POST':
        mongo.db.recipes.insert(recipe_json)
    elif request.method == 'PUT':
        d = {'_id': ObjectId(recipe_id)}
        mongo.db.recipes.update(d, recipe_json, False)

    return jsonify(success=True)
Пример #7
0
def load_schema_file(schema_file, verbose):
    return load_schema(schema_file, verbose=verbose)
Пример #8
0
def edit_recipe_view(recipe_id):
    recipe = dumps(mongo.db.recipes.find_one(ObjectId(recipe_id)))
    schema = load_schema('data/recipe.schema.json')
    return render_template('edit.html', schema=schema, recipe=recipe,
                           recipe_id=recipe_id)
Пример #9
0
def create_recipe_view():
    schema = load_schema('data/recipe.schema.json')
    return render_template('create.html', schema=schema)