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))
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')
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))
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)
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)
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)
def load_schema_file(schema_file, verbose): return load_schema(schema_file, verbose=verbose)
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)
def create_recipe_view(): schema = load_schema('data/recipe.schema.json') return render_template('create.html', schema=schema)