39 Commits

Author SHA1 Message Date
Federico Ressi
34c1c533cc Can't ignore required package script.
Module 'horizon/openstack_dashboard/settings.py' imports package
'openstack_dashboard.local.enabled', therfore package script
'openstack_dashboard/local/enabled/__init__.py' can't be marked
to be ignore by git.

Change-Id: I8b495781d4cfce11ebaaad2c23e84787dc140fb5
Closes-Bug: #1530338
2016-01-07 22:27:18 +00:00
Jenkins
bd189bc2e9 Merge "Make integration tests pluggable" 2015-12-31 01:24:29 +00:00
Matthias Runge
ab9e5d94af Add testr support
How to test:
testr init
testr run

Change-Id: I0bdef31e23593ca36fdefa4cdd8a7d5059fbcdc6
2015-12-10 09:45:41 +01:00
David Lyle
28e14b7141 Make integration tests pluggable
There are 2 possible setups when running integration tests for
Horizon plugins.

The first setup, which we suggest to be used in gate of *-dashboard
plugins is to get horizon as a dependency of a plugin and then run
integration tests using horizon.conf config file inside plugin
repo. This way plugin augments the location of Horizon built-in Page
Objects with the location of its own Page Objects, contained within
`plugin_page_path` option and the Horizon built-in nav structure with
its own nav structure contained within `plugin_page_structure`. Then
plugin integration tests are run against core Horizon augmented with
just this particular plugin content.

The second setup may be used when we need to run integration tests for
Horizon + several plugins. In other words, content from several
plugins is merged into core Horizon content, then the combined
integration tests from core Horizon and all the involved plugins are
run against the resulting dashboards. To make this possible both
options `plugin_page_path` and `plugin_page_structure` have
MultiStrOpt type. This means that they may be defined several times
and all the specified values will be gathered in a list, which is
iterated when running integration tests. In this setup it's easier to
run the tests from Horizon repo, using horizon.conf file within it.

Keep in mind that `plugin_page_structure` needs to be a strict JSON
string, w/o trailing commas etc.

This patch as well removes leftfovers of sahara integration tests from
Horizon repo, in order for core Horizon integration tests to
pass. Sahara integration tests are moved to the CR
https://review.openstack.org/#/c/253614

Co-Authored-By: Timur Sufiev <tsufiev@mirantis.com>
Change-Id: I99718970af78feeafc25dbb3aa9639ea2cf401ad
2015-12-08 07:34:52 +00:00
Richard Jones
861f9c2c4a Enable PhantomJS for running Selenium tests
This patch enables the PhantomJS webdriver for running
the Selenium test suite.

Use it with the --selenium-phantomjs command-line switch
when executing the selenium and integration suite.

Change-Id: I443e6f6d7d1911df500b360f7c22686b417fbeae
Blueprint: enable-phantomjs-selenium
2015-11-25 11:25:51 +11:00
lin-hua-cheng
0ffb6d8045 Add reno for release notes management
An initial patch to add reno and create a base directory for
release notes

Change-Id: I4be108a22d4e67ebfc4483fbf45f9feffbac1e15
2015-11-11 02:38:47 -08:00
Rob Cresswell
248281406e Don't hide Karma coverage reports
This patch updates the file names of the coverage reports so they are
visible by default on most systems. Also updates the .gitignore, so the
new files are not pushed to the Horizon repo.

DocImpact

Closes-Bug: 1508526
Change-Id: I3c1c8f4c88819e2f49b60722ea8cc37bdc711b8c
2015-11-04 10:21:46 +09:00
Serhii Vasheka
bc109d33ed Add _save_screenshot functionality to helpers.
Having screenshot of failed test might increase speed of
understanding the failure reason.

partially-implements blueprint: selenium-integration-testing

Depends-On: I0fd89ede7a3d04ce9b4bd4c8fba0789770048d40
Change-Id: Ibc4a6235423736e5938fb348bbe83211917b08d1
2015-09-16 12:40:38 +03:00
Matt Borland
241c2cf432 Get unit tests working with Karma
Establish features for running Karma tests.  Separate karma configurations
are used due to current overlap of template file structure.

You can run the karma tests via:
  ./run_tests.sh --karma

The Karma framework allows for many features like unit test coverage and
provides a common configuration for different test runners.

Change-Id: I79680ef6369383c148da68e6677945886a48df81
Implements: blueprint karma
2015-06-01 14:14:58 +00:00
Matt Riedemann
276cdd8060 Ignore all egg type artifacts
An .eggs/ directory was being created when running
tox -r -e jshint, we should be ignoring egg artifacts
so be more aggressive in what's ignored for eggs.

The old horizon.egg-info entry is covered by the new
ignore entry.

Change-Id: I54de1f603c1c9867fd3ca3e676b5a3fe36d2ab3e
2015-05-27 04:03:48 +00:00
Yves-Gwenael Bourhis
9610f0bed0 Added a migrate_settings command
This command allows to easily save a diff between local_settings.py and
local_settings.py.example to reapply the change when local_settings.py.example
changes (per branch switch or updates).

implements bp settings-migration-script

Change-Id: I2668bbf248434a5d437a5fc46ad07c1a1f29b793
2015-02-05 12:24:18 +01:00
Sam Betts
739c6b23dc Add *.lock to .gitignore file
Lock files being left behind by oslo_concurrency were not gitignored so
it was likely they would end up in commits by accident, this patch adds
*.lock to the .gitignore to prevent this.

Change-Id: I06d5eda51e84af0e7afa64315b47a6a651ef41ec
Closes-Bug: 1415576
2015-01-28 17:39:29 +00:00
Akihiro Motoki
06657c6502 Remove compiled message catalogs
A kind of binary files are useless to be maintained in git repo.
I18N team and package distributors have agreed to remove compiled
message catalogs from Horizon git repository.

The instruction on how to compile message catalogs will be
covered by https://review.openstack.org/#/c/126169/
or the installation guide.

DocImpact

Change-Id: I81b05cf79c21d85bed8a6da6df659955e7ac58c5
Closes-Bug: #1196982
2014-10-10 05:31:32 +09:00
Yves-Gwenael Bourhis
c2d9a373c1 Created a make_web_conf command.
The current wsgi does not support virtualenvs (in some distributions, the
dependencies may conflict with the distribution's python packages/dependencies
and would require a virtualenv even in production).
Also, making an apache web configuration is not always trivial especialy
with ssl.
This "make_web_conf" command creates a wsgi with automatic virtualenvironment
detection (if there is a virtualenvironment), and creates an apache
(normal or ssl) configuration

TODO(ygbo)::

    - add nginx support to generate nginx configuration files.
    - add gunicorn support.
    - add uwsgi support.

implements bp web-conf-generation-script

Change-Id: I6397ba01df88b540bbdca4bf21ba90be6843022a
2014-04-03 17:34:32 +02:00
Sushil Kumar
5117c74d52 Updates .gitignore
To ignore swap files from getting into repository
currently the implemented ignore is *.swp
however vim adds more swap files if these files exists,
so improving this with *.sw?

Change-Id: I91c799acfe186791061cd91414f606fd7cf08fb7
Closes-Bug: #1255876
2013-11-28 08:53:42 +00:00
Anita Kuno
3b601d7b77 Added openstack_dashboard/local/.secret_key_store to .gitignore.
Change-Id: Ie3a9c1f4f150702f65a8ccd7d46dd5e1c8c19bc8
2013-02-11 17:12:56 +00:00
Akihiro MOTOKI
05cf900492 Initial support of Quantum V2.
Implementes blueprint quantum-horizon and blueprint readd-quantum-support.
This commit also covers blueprint quantum-workflow-integration.

- Added quantum API layer,
- Added network/subnet/port CRUD operations,
- Added 'Network' user panel,
- Added 'Network' system panel,
- Added 'Networking' tab in instance creation workflow.
- Supported launching an instance with specified network(s)

Change-Id: I7ad608e17cb6fb4f0de02721888e96a68cf926e8
2012-08-13 02:54:42 +09:00
Sascha Peilicke
9aa2dda073 Provide utilities to automate secure secret key generation
Implements blueprint automatic-secure-key-generation

Reduce the likeliness that the (commented-out) default key is abused
and document possible options instead.

Also use a non-empty SECRET_KEY for development / testing environments.

A later patch would make it a hard error if no SECRET_KEY is defined
(i.e. Django defaults to an empty string which is anything but secure).
Unfortunately, I can't do it now as the devstack integration test would
fail (they don't set a SECRET_KEY either) currently. So, when this
blueprint is accepted, I would submit a fix to devstack and afterwards
add the error message to warn the user about insecure defaults.

Addressed PEP-8 issues

Change-Id: Ifdab8e6b6fb3025fde7a2b92beb046ec9c5cba7f
2012-07-03 10:18:56 +02:00
Clark Boylan
f1a8e0c54f Move docs to doc.
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc and build results go in project/doc/build.

Change-Id: Ic523a716e4113198b777d6dc3db8bb8a729e7696
2012-06-12 11:41:04 -07:00
John Postlethwait
0074328fbb Updating Horizon to use LESS.
This changes all of the Bootstrap CSS and Horizon
CSS to use LESS. Horizon's specific CSS will be
organized into separate files in another commit,
as it is outside the scope of this BP.

We are also now packing LESS 1.3.0 directly within
Horizon.

Implementation of Blueprint transition-to-lesscss

Change-Id: Ie4be8b28ab3ce04ea21d7d5cd49c2ccb66bd8ade
2012-06-07 14:32:43 -07:00
Ke Wu
59e862e422 Add Swift pseudo-folder support to Horizon.
Implements blueprint swift-folders.

Change-Id: If29ad3cc1fcfb9b7bdb66d915a667f3363d38da0
2012-06-06 13:48:33 -07:00
Monty Taylor
c93e7c06fd Add ProjectTestingInterface to horizon.
Horizon is the last project that doesn't have support for the common
Project Testing Interface. This gets horizon up to speed with the
other bits, but shouldn't break any of the existing interfaces.

Change-Id: I464c3b10d9708a0b7b5ffd42c88cd3cf515ef6a7
2012-05-26 14:36:19 -07:00
Gabriel Hurley
2042b89649 Makes setup.py actually list it's dependencies for pip/easy_install.
Change-Id: I9b774f5d64662f67d2a4dd2d1dd4dc59be0f45df
2012-02-29 17:31:12 -08:00
Gabriel Hurley
052aa55d34 Unifies the project packaging into one set of modules.
There are no longer two separate projects living inside the horizon
repository. There is a single project now with a single setup.py,
single README, etc.

The openstack-dashboard/dashboard django project is now named
"openstack_dashboard" and lives as an example project in the
topmost horizon directory.

The "horizon/horizon" directory has been bumped up a level and now
is directly on the path when the root horizon directory is on
your python path.

Javascript media which the horizon module directly relies upon
now ships in the horizon/static dir rather than
openstack-dashboard/dashboard/static.

All the corresponding setup, installation, build, and env scripts
have been updated accordingly.

Implements blueprint unified-packaging.

Change-Id: Ieed8e3c777432cd046c3e0298869a9428756ab62
2012-02-29 00:20:13 -08:00
Andrews Medina
bcb4166eb7 Ignoring .venv dir
Change-Id: I468eb603ba5376ada99a90cc565f7906afdfbd64
2012-02-15 01:38:40 -02:00
Gabriel Hurley
64b81acc0a Reworked all the usage implementations into one standard set.
Adds a base Usage data object, datatables, class-based views,
and more consistent templating for all cases.

Bumps environment version to ensure latest novaclient.

Fixes bug 922353.

Change-Id: Ib2042e9393c8deb0e3ec23403da55a6fb8dd39fb
2012-02-02 14:59:26 -08:00
Gabriel Hurley
a17570110f Unified horizon and openstack-dashboard environments.
Buildout has been removed entirely, all dev installation is now
done via the single tools/install_venv.py script.

Django's manage.py script has also been updated to a newer
version/convention; this allows for less python path mangling
and makes things cleaner and more explicit. Note that, as such,
it has been moved up a directory level.

Change-Id: I62f9f06ee00568fc91e5ba7e1fd15d22ea849d1f
2012-01-05 13:57:07 -08:00
Gabriel Hurley
1dec092857 Unit tests shouldn't override template rendering.
Removes the fake_render_to_response function that was preventing
templates from being rendered. This required a number of adjustments
to the mocked obejcts in the view tests (which didn't need to be
mocked to begin with). A couple of legitimate problems were
exposed upon rendering the templates which are also now fixed.

Change-Id: I1647dcec01084318be1bb8f6d6ac1f4308992afa
2011-11-21 13:06:00 -08:00
Gabriel Hurley
34e217b357 Added sanity checks and environment versioning to run_tests.sh.
Implements blueprint environment-versioning.

Fixed bug 887885. The script will bail if the seleniumrc or test scripts are missing, preventing the hang, or the possibility of bad environments.

Change-Id: I3cdeb71660c897e8b2adbf81d3794333d1847204
2011-11-09 16:34:30 -08:00
Gabriel Hurley
2532d25c08 Adds selenium and qunit integration into Django test suite.
Implements blueprint frontend-testing.
Implements blueprint javascript-unit-tests.

Adds selenium to buildout script and uses django-nose-selenium to integrate with Django's unit test machinery. Includes proof-of-implementation tests with both selenium and qunit.

Change-Id: Ic7db4994be398c633a78dca7369359602c7d8f57
2011-11-08 16:44:16 -08:00
Gabriel Hurley
9742842795 Re-architects the OpenStack Dashboard for modularity and extensibility.
Implements blueprint extensible-architecture.
Implements blueprint improve-dev-documentation.
Implements blueprint gettext-everywhere.
Implements blueprint sphinx-docs.

Complete re-architecture of the dashboard to transform it from a standalone django-openstack app to a Horizon framework for building dashboards. See the docs for more information.

Incidentally fixes the following bugs:

Fixes bug 845868 -- no PEP8 violations.
Fixes bug 766096 -- the dashboard can now be installed at any arbitrary URL.
Fixes bug 879111 -- tenant id is now controlled solely by the tenant switcher, not the url (which was disregarded anyway)
Fixes bug 794754 -- output of venv installation is considerably reduced.

Due to the scale and scope of this patch I recommend reviewing it on github: https://github.com/gabrielhurley/horizon/tree/extensible_architecture

Change-Id: I8e63f7ea235f904247df40c33cb66338d973df9e
2011-11-07 12:59:21 -08:00
Joe Heck
7fbd04358d adding developer docs 2011-10-27 13:23:39 -07:00
Joe Heck
36e266e7ff fixing run_tests - typo, missing requires 2011-08-31 16:19:40 -07:00
Joe Heck
6d633a9ec7 updating run_tests.sh to mimic other openstack projects, pep8, pylint, coverage 2011-08-31 14:41:36 -07:00
Mark Gius
ed6a6489ba Unit tests for dashboard container views. Includes support code for
future view tests
2011-07-06 17:33:02 -07:00
Mark Gius
dca89b5375 That ought to do it. 2011-06-29 18:32:02 -07:00
Mark Gius
54ff33aec3 First test implemented, and buildout changes to allow unit test to run 2011-06-28 11:38:27 -07:00
Tres Henry
d7243d75b4 minor pep8 fixes for api and gitignore fix for new layout 2011-06-23 13:52:41 -07:00
Mark Gius
acf11455e4 Manager tests
port of lp:~tiramisu/openstack-dashboard/dashboard_manager_tests
2011-06-19 14:10:44 -07:00