Skip to content

Commit

Permalink
Merge branch 'master' into pr17
Browse files Browse the repository at this point in the history
  • Loading branch information
James McKinney committed Nov 26, 2018
2 parents 2e6e5ca + 0d44614 commit a33984f
Show file tree
Hide file tree
Showing 12 changed files with 161 additions and 103 deletions.
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ env:
- BASEDIR="https://raw.githubusercontent.com/open-contracting/standard-maintenance-scripts/master"
install:
- curl -s -S --retry 3 $BASEDIR/tests/install.sh | bash -
- pip install .
- pip install .[test]
script:
- curl -s -S --retry 3 $BASEDIR/tests/script.sh | bash -
- python -m unittest discover
- pytest --cov ocdsmerge
after_success:
coveralls
61 changes: 0 additions & 61 deletions ocdsmerge/fixtures/unit_example.py

This file was deleted.

36 changes: 0 additions & 36 deletions ocdsmerge/tests.py

This file was deleted.

15 changes: 11 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
from setuptools import setup
from setuptools import setup, find_packages

with open('README.rst') as f:
long_description = f.read()

setup(
name='ocdsmerge',
version='0.4',
author='David Raznick',
author_email='mr.raznick@gmail.com',
author='Open Contracting Partnership',
author_email='data@open-contracting.org',
url='https://github.com/open-contracting/ocds-merge',
description='A library and reference implementation for merging OCDS releases',
license='BSD',
packages=['ocdsmerge', 'ocdsmerge.fixtures'],
packages=find_packages(),
long_description=long_description,
install_requires=[
'jsonref',
'requests',
],
extras_require={
'test': [
'coveralls',
'pytest',
'pytest-cov',
],
},
classifiers=[
'License :: OSI Approved :: BSD License',
'Programming Language :: Python :: 3.6',
Expand Down
File renamed without changes.
Empty file added tests/fixtures/__init__.py
Empty file.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
126 changes: 126 additions & 0 deletions tests/fixtures/unit_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
releases = [
{
"ocid": "A",
"id": "1",
"date": "2014-01-01T00:00:00Z",
"tag": [
"tender"
],
"tender": {
"id": "A",
"items": [
{
"id": "item1",
"unit": {
"id": "EA",
"scheme": "UNCEFACT",
"name": "Each"
}
}
]
}
},
{
"ocid": "A",
"id": "2",
"date": "2014-01-02T00:00:00Z",
"tag": [
"tender"
],
"tender": {
"id": "A",
"items": [
{
"id": "item1",
"unit": {
"id": "TNE",
"scheme": "UNCEFACT"
}
}
]
}
}
]

compiledRelease = {
"ocid": "A",
"id": "2",
"date": "2014-01-02T00:00:00Z",
"tag": [
"compiled"
],
"tender": {
"id": "A",
"items": [
{
"id": "item1",
"unit": {
"id": "TNE",
"name": "Each",
"scheme": "UNCEFACT"
}
}
]
}
}

versionedRelease = {
'ocid': 'A',
'tender': {
'id': [
{
'releaseDate': '2014-01-01T00:00:00Z',
'releaseID': '1',
'releaseTag': [
'tender'
],
'value': 'A'
}
],
'items': [
{
'id': 'item1',
'unit': {
'id': [
{
'releaseDate': '2014-01-01T00:00:00Z',
'releaseID': '1',
'releaseTag': [
'tender'
],
'value': 'EA'
},
{
'releaseDate': '2014-01-02T00:00:00Z',
'releaseID': '2',
'releaseTag': [
'tender'
],
'value': 'TNE'
}
],
'name': [
{
'releaseDate': '2014-01-01T00:00:00Z',
'releaseID': '1',
'releaseTag': [
'tender'
],
'value': 'Each'
}
],
'scheme': [
{
'releaseDate': '2014-01-01T00:00:00Z',
'releaseID': '1',
'releaseTag': [
'tender'
],
'value': 'UNCEFACT'
}
]
}
}
]
}
}
20 changes: 20 additions & 0 deletions tests/test_merge.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import importlib
import os
from glob import glob

import ocdsmerge


def test_all():
schema = 'http://standard.open-contracting.org/schema/1__1__3/release-schema.json'

filenames = glob(os.path.join('tests', 'fixtures', '*_example.py'))
assert len(filenames), 'fixtures not found'
for filename in filenames:
basename = os.path.splitext(os.path.basename(filename))[0]
fixture = importlib.import_module('tests.fixtures.' + basename)

assert fixture.compiledRelease == ocdsmerge.merge(fixture.releases), '{} merge differs'.format(basename)
assert fixture.compiledRelease == ocdsmerge.merge(fixture.releases, schema), '{} merge with schema differs'.format(basename) # noqa
assert fixture.versionedRelease == ocdsmerge.merge_versioned(fixture.releases), '{} merge_versioned differs'.format(basename) # noqa
assert fixture.versionedRelease == ocdsmerge.merge_versioned(fixture.releases, schema), '{} merge_versioned with schema differs'.format(basename) # noqa

0 comments on commit a33984f

Please sign in to comment.