376 Commits

Author SHA1 Message Date
Rodney Ewing
af4414a85f Merge remote-tracking branch 'upstream/master' into auth
Conflicts:
	mediagoblin/app.py
	mediagoblin/auth/forms.py
	mediagoblin/auth/tools.py
	mediagoblin/db/migrations.py
	mediagoblin/db/models.py
	mediagoblin/edit/views.py
	mediagoblin/plugins/basic_auth/tools.py
	mediagoblin/tests/test_edit.py
2013-06-25 13:37:21 -07:00
Christopher Allan Webber
c3de34d431 Adding a docstring to fixture_media_entry
It's not complete, but it makes clearer how to avoid errors with
fake_upload :)

This commit sponsored by Harper Sanford.  Thank you!
2013-06-22 17:40:12 -05:00
Christopher Allan Webber
56d1346789 Fix the data integrity bug in test_misc.
It turns out this has to do with some additions to the fixture adding
of media entries.  Since the new fake_upload field is True by default,
adding multiple entries that have media_files at once meant that
multiple additions of FileKeynames would be added at once if they were
not saved at the same time.  Tricky!

Thankfully, Elrond helped us figure this one out.  Thanks, Elrond :)

And thanks also to Aapo Rantalainen for sponsoring this commit!
2013-06-22 17:37:30 -05:00
Christopher Allan Webber
257b8ab62a Merge remote-tracking branch 'refs/remotes/joar/notifications'
Conflicts:
	mediagoblin/db/migrations.py
2013-06-22 16:13:41 -05:00
Christopher Allan Webber
f7698af1c1 Removing the "enter your password to change your email" bit.
A good idea, though it feels fairly clumsy in the form, and I think if
you're logged in you can already sabotage the user pretty well.

This commit sponsored by Sergey Matveev.  Thanks!
2013-06-21 17:24:33 -05:00
Rodney Ewing
e4deacd9c8 changes after cwebb's review 2013-06-21 14:14:40 -07:00
Rodney Ewing
54ef2c408b moved authentication_disabled to config_spec 2013-06-15 12:32:20 -07:00
Rodney Ewing
5101c469d7 changed no_auth to authentication_disabled in config 2013-06-11 14:30:38 -07:00
Joar Wandborg
2d7b6bdef9 New notifications
- Added request.notifications
- Email configuration fixes
  - Set config_spec default SMTP port to `0` and switch to SSL/non-SSL
    default if `port == 0`
  - Added email_smtp_use_ssl configuration setting
- Added migrations for notification tables
- Added __repr__ to MediaComment(Mixin)
- Added MediaComment.get_entry => MediaEntry
- Added CommentSubscription, CommentNotification, Notification,
  ProcessingNotification tables
- Added notifications.task to celery init
- Fixed a bug in the video transcoder where pygst would hijack the
  --help argument.
- Added notifications
  - views
    - silence
    - subscribe
  - routes
  - utility methods
  - celery task
- Added half-hearted .active comment CSS style
- Added quick JS to show header_dropdown
- Added fragment template to show notifications in header_dropdown
- Added fragment template to show subscribe/unsubscribe buttons on
  media/comment pages
- Updated celery setup tests with notifications.task
- Tried to fix test_misc tests that I broke
- Added notification tests
- Added and extended tests.tools fixtures
- Integrated new notifications into media_home, media_post_comment views
- Bumped SQLAlchemy dependency to >= 0.8.0 since we need polymorphic for
  the notifications to work
2013-06-09 21:18:37 +02:00
Rodney Ewing
342f06f7bd modified verification emails to use itsdangerous tokens 2013-05-29 13:23:26 -07:00
Rodney Ewing
3b8c733b98 no need for check_login with the new check_login_simple function 2013-05-27 08:54:25 -07:00
Rodney Ewing
3bcdc49088 renamed lib to tools 2013-05-27 08:43:12 -07:00
Rodney Ewing
377db0e7ff added error handling on bad token, fixed route, and added tests 2013-05-24 18:16:12 -07:00
Rodney Ewing
f339b76a4e moving forgot_password views back to gmg/auth and cleanup 2013-05-24 18:09:57 -07:00
Rodney Ewing
9008e09941 fixed failing tests after rebase 2013-05-24 16:52:50 -07:00
Rodney Ewing
b194f29fe3 added gen_password_hash and check_password functions to auth/__init__ 2013-05-24 16:52:50 -07:00
Rodney Ewing
dfd3f561af added tests for no_auth feature 2013-05-24 16:52:48 -07:00
Rodney Ewing
7a98eb73d9 existing test all passing now 2013-05-24 16:52:48 -07:00
Rodney Ewing
fa7232913c modified test .ini files and changed tests to use basic_auth bcrypt 2013-05-24 16:52:48 -07:00
Christopher Allan Webber
23055eb394 Full unit test for the plugin assetlink command.
Tests:
 - if the link doesn't exist yet
 - if the link already exists
 - if it is a symlink to something else
 - if it exists but is not a symlink

This commit sponsored by Lon Koenig.  Thank you!
2013-05-23 13:33:08 -05:00
Christopher Allan Webber
bdd23c0eae test_plugin_staticdirect now works and passes.
This commit sponsored by Samuel Vale.  Thank you!
2013-05-23 13:33:08 -05:00
Christopher Allan Webber
1b2cf1e823 Simple "staticstuff" plugin for writing unit tests on plugin static asset linking.
It doesn't do much... it just has a static directory with a "bunnify"
CSS file and has a unit test that returns a json encoded set of a
staticdirect with both this plugin enabled and also
with (theoretically) a file distributed with MediaGoblin (it isn't
really, but in our case that doesn't matter.)

Also set up the static_setup hook / PluginStatic object for this
plugin; testing that with `./bin/gmg theme assetlink` seemed to work.
(And argh, need to update that command name, I know.)

This commit sponsored by Bradley Kuhn.  Thanks bkuhn!
2013-05-23 13:33:07 -05:00
Christopher Allan Webber
491029bc36 Moving test_user_dev->user_dev in plugin app configs & adding plugin static serving
The test_user_dev (as opposed to user_dev) was a legacy before we had
each application running in its own directory (as they now do in
pytest).  Move that name to just user_dev... this is more consistent
with the rest of our naming and will make writing these config files
easier.  (If we want to test that changing these still works, that
should be a separate unit test with special config files.)

Additionally, add plugin static serving to the common test paste
config file.

This commit sponsored by Juan Jose Marin Martinez.  Thank you!
2013-05-23 13:33:07 -05:00
Rodney Ewing
eb396abc4a modified change_pass tests 2013-05-20 14:28:43 -07:00
Elrond
4adc3a85dd piwigo: Return proper error for wrong user/password.
And fix tests.
2013-05-20 19:36:28 +02:00
Elrond
d6c3375a78 A bit of pep8 and small typo fix. 2013-05-20 19:35:16 +02:00
Joar Wandborg
c5323f29f3 Fixed EXIF tests 2013-05-20 00:11:00 +02:00
Christopher Allan Webber
b69dd85304 Merge remote-tracking branch 'refs/remotes/elrond/misc/pytest_enable_testing' 2013-05-17 11:13:17 -05:00
Christopher Allan Webber
9a9bafc078 Reverting "Always activate testing in every test module ever."
Revert "Always activate testing in every test module ever."

This reverts commit 0536306048daa0970d2e43411ba2a9bf073e570e.
2013-05-17 11:12:56 -05:00
Elrond
5fa843f31f Always activate testing using pytest fixture.
This is possibly the cleaner approach to the problem solved
in the previous commit.

The previous commit makes sure, that testing is enabled at
import time. While this one enables it just before the
individual test is run. So this one takes a bit more CPU.

Maybe revert the previous commit?

References: 0536306048daa0970d2e43411ba2a9bf073e570e
2013-05-17 01:46:20 +02:00
Christopher Allan Webber
0536306048 Always activate testing in every test module ever.
Kind of a dorky way to implement this, but...
2013-05-16 17:51:21 -05:00
Christopher Allan Webber
ff97bbe944 Merge branch '623_context_hooks' 2013-05-15 11:40:51 -05:00
Christopher Allan Webber
a1099bba79 Testing the template_context_prerender hook
This allows for modifying any context *right before render*, including
access to the variables that are passed in.  This test takes advantage
of that and takes one of the variables, "doubleme", and modifies
it (doubles it!)

In our case it turns "happy" and "joy" into "happyhappy" and "joyjoy".

This commit sponsored by Mark Holmquist.  Thank you!
2013-05-15 11:40:28 -05:00
Christopher Allan Webber
5046ca2433 Documenting the test_modify_context and context_modified_app methods 2013-05-14 14:29:23 -05:00
Christopher Allan Webber
f7a5c7c78c Fully working context hooks, both template/view and global level, with tests
Needs documentation though... that's coming next :)

This commit sponsored by Luca Tius.  Thanks Luca!
2013-05-14 14:24:27 -05:00
Elrond
76f0fb8cca piwigo: Start first tests.
This first test checks the session logic of the piwigo
plugin. login, logout, getStatus.
2013-05-12 23:19:58 +02:00
Christopher Allan Webber
725404236e Merge branch 'master' into 623_context_hooks 2013-05-12 16:17:35 -05:00
Christopher Allan Webber
2dee97ef48 Removing reference to nose (thanks for catching, Elrond!)
This commit sponsored by Kevin McCarthy.  Thank you!
2013-05-12 16:07:28 -05:00
Christopher Allan Webber
a98c95b41d Tests should no longer use the environment-variable-related-setup and set up in app instead
This should remove a bunch of confusing cruft.  I hate using that
environment variable!  Also that old code was fragile.

This commit sponsored by Stephen Milton.  Thanks!
2013-05-12 15:55:59 -05:00
Christopher Allan Webber
aac428bac2 Merge remote-tracking branch 'gabithume/146_debug_message' 2013-05-11 10:19:31 -05:00
Christopher Allan Webber
829f5f9371 Ah right, and here's the config we intend to use for these context modified tests :)
This commit sponsored by Xavier Gulliot.  Thanks Xavier!
2013-05-08 14:38:13 -05:00
Christopher Allan Webber
3810309443 The beginning of context hooks.
Not the working solution, but getting there conceptually.  Basically
we'll have a key with the view and the template as a tuple which is
the context hook that anyone can attach to.

However, some changes have still to be made:
 - The unit test doesn't work yet and contains a set_trace ;)
 - We'll probably switch the "view" component from being the callable
   to the "urlgen"'able name per Elrond's suggestion
 - Found a bug in unit tests related to running custom apps for
   different configs... hm.  I need to fix this!

Nonetheless, making progress.

This commit sponsored by... wait a minute... Christopher Webber?!
2013-05-08 14:35:31 -05:00
Christopher Allan Webber
d3604e2920 Unit tests for plugins defining their own config_spec.ini!
This commit sponsored by David Ahmed.  Thank you!
2013-05-08 11:02:53 -05:00
Gabi Thume
98ce23d204 Fixing ticket #146 - Make messaging system testable 2013-04-29 20:35:22 -07:00
Elrond
3b359dddc7 image resizing: Refactor some decisions into resize_tool.
Loading the thumb/medium sizes from the config, saving
things to the db, and loading the image is now all done by
resize_tool. It still calls resize_image for the actual
work.
2013-04-27 17:19:50 +02:00
Elrond
d891966424 Unit test for ReallyLazyProxy.
LazyProxy caches its value. So create a unit test for
lazy_pass_to_ugettext to make sure its returned proxy
actually gives a different translation when the locale
is switched.
2013-04-25 14:31:29 +02:00
Elrond
fd1202b774 Cleanup storage after test, and test .delete_dir().
The storage tests work in the system's tmpdir. The python
docs say, we should clean up after using things.  Yes the
directory should be cleaned up on reboot, but if running
tests a lot, the tmpdir could fill up, so we should really
cleanup.

So use the new .delete_dir() on the storage interface to
cleanup test dirs and get them finally removed with
os.rmdir. All nicely packed into cleanup_storage().
2013-04-21 19:26:57 +02:00
Elrond
12dccc4552 Refactor test configs.
All the hook_* tests use the same config, so refactor it.
2013-04-20 00:24:09 +02:00
Christopher Allan Webber
97e0a79f39 Let's not use reserved keywords :) 2013-04-19 16:31:23 -05:00
Christopher Allan Webber
a0e7699a45 Added new tests to test hook_transform() 2013-04-19 16:28:41 -05:00