Skip to content

Commit

Permalink
fix merge issues
Browse files Browse the repository at this point in the history
  • Loading branch information
kindly committed Nov 28, 2013
2 parents 8ce0b90 + 9c34e8b commit b3e52b7
Show file tree
Hide file tree
Showing 264 changed files with 8,495 additions and 6,115 deletions.
3 changes: 3 additions & 0 deletions .coveragerc
@@ -0,0 +1,3 @@
[run]
omit = /ckan/migration/*, /ckan/tests/*, */tests/*
source = ckan, ckanext
5 changes: 4 additions & 1 deletion .travis.yml
Expand Up @@ -5,7 +5,8 @@ python:
env:
- PGVERSION=9.1
- PGVERSION=8.4
script: ./bin/travis-build
install: ./bin/travis-install-dependencies
script: ./bin/travis-run-tests
notifications:
irc:
channels:
Expand All @@ -14,3 +15,5 @@ notifications:
on_failure: change
template:
- "%{repository} %{branch} %{commit} %{build_url} %{author}: %{message}"
after_success:
- coveralls
30 changes: 30 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -12,10 +12,28 @@ v2.2

API changes and deprecations:


* The `ckan.api_url` has been completely removed and it can no longer be used
* The edit() and after_update() methods of IPackageController plugins are now
called when updating a resource using the web frontend or the
resource_update API action [#1052]

v2.1.1 2013-11-8
================

Bug fixes:
* Fix errors on preview on non-root locations (#960)
* Fix place-holder images on non-root locations (#1309)
* Don't accept invalid URLs in resource proxy (#1106)
* Make sure came_from url is local (#1039)
* Fix logout redirect in non-root locations (#1025)
* Wrong auth checks for sysadmins on package_create (#1184)
* Don't return private datasets on package_list (#1295)
* Stop tracking failing when no lang/encoding headers (#1192)
* Fix for paster db clean command getting frozen
* Fix organization not set when editing a dataset (#1199)
* Fix PDF previews (#1194)
* Fix preview failing on private datastore resources (#1221)

v2.1 2013-08-13
===============
Expand Down Expand Up @@ -96,6 +114,18 @@ Known issues:
* Under certain authorization setups the frontend for the groups functionality
may not work as expected (See #1176 #1175).

v2.0.3 2013-11-8
================

Bug fixes:
* Fix errors on preview on non-root locations (#960)
* Don't accept invalid URLs in resource proxy (#1106)
* Make sure came_from url is local (#1039)
* Fix logout redirect in non-root locations (#1025)
* Don't return private datasets on package_list (#1295)
* Stop tracking failing when no lang/encoding headers (#1192)
* Fix for paster db clean command getting frozen


v2.0.2 2013-08-13
=================
Expand Down
28 changes: 16 additions & 12 deletions CONTRIBUTING.rst
Expand Up @@ -23,7 +23,7 @@ contributions to CKAN.


----------------
Reporting Issues
Reporting issues
----------------

If you've found a bug in CKAN, open a new issue on CKAN's `GitHub Issues`_ (try
Expand All @@ -47,7 +47,7 @@ For contributing translations to CKAN, see
.. _coding standards:

----------------
Coding Standards
Coding standards
----------------

When writing code for CKAN, try to respect our coding standards:
Expand All @@ -60,16 +60,20 @@ When writing code for CKAN, try to respect our coding standards:
html-coding-standards
css-coding-standards
javascript-coding-standards
testing-coding-standards
upgrading-dependencies

* `CKAN Coding Standards <http://docs.ckan.org/en/latest/ckan-coding-standards.html>`_
* `Python Coding Standards <http://docs.ckan.org/en/latest/python-coding-standards.html>`_
* `HTML Coding Standards <http://docs.ckan.org/en/latest/html-coding-standards.html>`_
* `CSS Coding Standards <http://docs.ckan.org/en/latest/css-coding-standards.html>`_
* `JavaScript Coding Standards <http://docs.ckan.org/en/latest/javascript-coding-standards.html>`_
* `CKAN coding standards <http://docs.ckan.org/en/latest/ckan-coding-standards.html>`_
* `Python coding standards <http://docs.ckan.org/en/latest/python-coding-standards.html>`_
* `HTML coding standards <http://docs.ckan.org/en/latest/html-coding-standards.html>`_
* `CSS coding standards <http://docs.ckan.org/en/latest/css-coding-standards.html>`_
* `JavaScript coding standards <http://docs.ckan.org/en/latest/javascript-coding-standards.html>`_
* `Testing coding standards <http://docs.ckan.org/en/latest/testing-coding-standards.html>`_
* `Upgrading CKAN's dependencies <http://docs.ckan.org/en/latest/upgrading-dependencies.html>`_


---------------
Commit Messages
Commit messages
---------------

Generally, follow the `commit guidelines from the Pro Git book`_:
Expand Down Expand Up @@ -102,7 +106,7 @@ Here's an example of a good CKAN commit message::


-------------------------------
Frontend Development Guidelines
Frontend development guidelines
-------------------------------

.. toctree::
Expand All @@ -124,7 +128,7 @@ Frontend Development Guidelines


---------------------
Writing Documentation
Writing documentation
---------------------

The quickest and easiest way to contribute documentation to CKAN is to sign up
Expand All @@ -147,7 +151,7 @@ the `documentation guidelines <http://docs.ckan.org/en/latest/documentation-guid
.. _making a pull request:

---------------------
Making a Pull Request
Making a pull request
---------------------

Once you've written some CKAN code or documentation, you can submit it for
Expand Down Expand Up @@ -228,7 +232,7 @@ This section will walk you through the steps for making a pull request.
.. _create a pull request on GitHub: https://help.github.com/articles/creating-a-pull-request


Merging a Pull Request
Merging a pull request
======================

If you're reviewing a pull request for CKAN, when merging a branch into master:
Expand Down
10 changes: 7 additions & 3 deletions MANIFEST.in
Expand Up @@ -5,9 +5,13 @@ recursive-include ckan/config *.xml
recursive-include ckan/i18n *
recursive-include ckan/templates *
recursive-include ckan *.ini
recursive-include ckanext/**/public *
recursive-include ckanext/**/templates *
recursive-include ckanext/**/i18n *

recursive-include ckanext/*/i18n *
recursive-include ckanext/*/public *
recursive-include ckanext/*/templates *
recursive-include ckanext/*/theme/public *
recursive-include ckanext/*/theme/templates *

prune .git
include CHANGELOG.txt
include ckan/migration/migrate.cfg
Expand Down
4 changes: 4 additions & 0 deletions README.rst
Expand Up @@ -5,6 +5,10 @@ CKAN: The Open Source Data Portal Software
:target: http://travis-ci.org/okfn/ckan
:alt: Build Status

.. image:: https://coveralls.io/repos/okfn/ckan/badge.png
:target: https://coveralls.io/r/okfn/ckan
:alt: Test coverage

**CKAN is the world’s leading open-source data portal platform**.
CKAN makes it easy to publish, share and work with data. It's a data management
system that provides a powerful platform for cataloging, storing and accessing
Expand Down
74 changes: 0 additions & 74 deletions bin/travis-build

This file was deleted.

53 changes: 53 additions & 0 deletions bin/travis-install-dependencies
@@ -0,0 +1,53 @@
#!/bin/bash

# Exit immediately if any command fails
set -e

# Drop Travis' postgres cluster if we're building using a different pg version
TRAVIS_PGVERSION='9.1'
if [ $PGVERSION != $TRAVIS_PGVERSION ]
then
sudo -u postgres pg_dropcluster --stop $TRAVIS_PGVERSION main
# Make psql use $PGVERSION
export PGCLUSTER=$PGVERSION/main
fi

# Install postgres and solr
sudo apt-get update -qq
sudo apt-get install postgresql-$PGVERSION solr-jetty libcommons-fileupload-java:amd64=1.2.2-1

if [ $PGVERSION == '8.4' ]
then
# force postgres to use 5432 as it's port
sudo sed -i -e 's/port = 5433/port = 5432/g' /etc/postgresql/8.4/main/postgresql.conf
fi

sudo service postgresql restart

# Setup postgres' users and databases
sudo -u postgres psql -c "CREATE USER ckan_default WITH PASSWORD 'pass';"
sudo -u postgres psql -c "CREATE USER datastore_default WITH PASSWORD 'pass';"
sudo -u postgres psql -c 'CREATE DATABASE ckan_test WITH OWNER ckan_default;'
sudo -u postgres psql -c 'CREATE DATABASE datastore_test WITH OWNER ckan_default;'

export PIP_USE_MIRRORS=true
pip install -r requirements.txt
pip install -r dev-requirements.txt

python setup.py develop

# Install npm dpes for mocha
npm install -g mocha-phantomjs phantomjs

paster db init -c test-core.ini

# If Postgres >= 9.0, we don't need to use datastore's legacy mode.
if [ $PGVERSION != '8.4' ]
then
sed -i -e 's/.*datastore.read_url.*/ckan.datastore.read_url = postgresql:\/\/datastore_default:pass@\/datastore_test/' test-core.ini
paster datastore set-permissions postgres -c test-core.ini
else
sed -i -e 's/.*datastore.read_url.*//' test-core.ini
fi

cat test-core.ini
28 changes: 28 additions & 0 deletions bin/travis-run-tests
@@ -0,0 +1,28 @@
#!/bin/sh

# Configure Solr
echo "NO_START=0\nJETTY_HOST=127.0.0.1\nJETTY_PORT=8983\nJAVA_HOME=$JAVA_HOME" | sudo tee /etc/default/jetty
# FIXME the solr schema cannot be hardcoded as it is dependent on the ckan version
sudo cp ckan/config/solr/schema-2.0.xml /etc/solr/conf/schema.xml
sudo service jetty restart

# Run mocha front-end tests
# We need ckan to be running for some tests
paster serve test-core.ini &
sleep 5 # Make sure the server has fully started
mocha-phantomjs http://localhost:5000/base/test/index.html
# Did an error occur?
MOCHA_ERROR=$?
# We are done so kill ckan
killall paster

# And finally, run the nosetests
nosetests --ckan --reset-db --with-pylons=test-core.ini --nologcapture ckan ckanext
# Did an error occur?
NOSE_ERROR=$?

[ "0" -ne "$MOCHA_ERROR" ] && echo MOCKA tests have failed
[ "0" -ne "$NOSE_ERROR" ] && echo NOSE tests have failed

# If an error occurred in our tests make sure travis knows
exit `expr $MOCHA_ERROR + $NOSE_ERROR`
27 changes: 22 additions & 5 deletions ckan/ckan_nose_plugin.py
Expand Up @@ -17,19 +17,28 @@ def startContext(self, ctx):
# import needs to be here or setup happens too early
import ckan.model as model

if 'new_tests' in repr(ctx):
# We don't want to do the stuff below for new-style tests.
if not CkanNose.settings.reset_database:
model.repo.tables_created_and_initialised = True
return

if isclass(ctx):
if hasattr(ctx, "no_db") and ctx.no_db:
return
if self.is_first_test or CkanNose.settings.ckan_migration:
if (not CkanNose.settings.reset_database
and not CkanNose.settings.ckan_migration):
model.Session.close_all()
model.repo.tables_created_and_initialised = True
model.repo.rebuild_db()
self.is_first_test = False
elif self.is_first_test or CkanNose.settings.ckan_migration:
model.Session.close_all()
model.repo.clean_db()
self.is_first_test = False
if CkanNose.settings.ckan_migration:
model.Session.close_all()
model.repo.upgrade_db()
# init_db is run at the start of every class because
# when you use an in-memory sqlite db, it appears that
# the db is destroyed after every test when you Session.Remove().

## This is to make sure the configuration is run again.
## Plugins use configure to make their own tables and they
Expand All @@ -38,7 +47,10 @@ def startContext(self, ctx):
from ckan.plugins.interfaces import IConfigurable
for plugin in PluginImplementations(IConfigurable):
plugin.configure(config)


# init_db is run at the start of every class because
# when you use an in-memory sqlite db, it appears that
# the db is destroyed after every test when you Session.Remove().
model.repo.init_db()

def options(self, parser, env):
Expand All @@ -62,6 +74,11 @@ def options(self, parser, env):
dest='segments',
help='A string containing a hex digits that represent which of'
'the 16 test segments to run. i.e 15af will run segments 1,5,a,f')
parser.add_option(
'--reset-db',
action='store_true',
dest='reset_database',
help='drop database and reinitialize before tests are run')

def wantClass(self, cls):
name = cls.__name__
Expand Down

0 comments on commit b3e52b7

Please sign in to comment.