555 Commits

Author SHA1 Message Date
tilly-Q
e1561d0488 This was a very small update, I'm hoping to rebase after this to solve some
other problems. I started looking at the tests in this update. This update I
spent fixing the tests to work with my new code.

--\ mediagoblin/db/migration_tools.py
--| Merging from ticket 679

--\ mediagoblin/db/migrations.py
--| Added unique constraint to Privilege.privilege_name

--\ mediagoblin/db/models.py
--| Deleted vestigial Privilege.is_admin_or_moderator method

--\ mediagoblin/templates/mediagoblin/moderation/user.html
--| Add a `Ban User` / `UnBan User` for admin

--\ mediagoblin/test/test_api.py
--| Fixed test with my new changes

--\ mediagoblin/test/test_auth.py
--| Try to fix test, still having problems

--\ mediagoblin/test/test_modelmethods.py
--| Wrote my first test for the User.has_privilege method

--\ mediagoblin/test/test_modelmethods.py
--| Fixed test with my new changes

--\ mediagoblin/test/test_sqlmigrations.py
--| Merging from ticket 679

--\ mediagoblin/test/tools.py
--| Editted add_fixture_user to allow for privileges rather than active column
2013-08-20 12:02:20 -04:00
Rodney Ewing
4710097b27 fix tests to use new change_email view 2013-08-20 08:25:45 -07:00
Rodney Ewing
04d8ced5c6 added test for mark all comment notifications seen 2013-08-20 08:09:29 -07:00
Sebastian Spaeth
41098dff57 Switch deprecated BROKER_HOST to new BROKER_URL
People will need to switch that setting in their mediagoblin.ini too.
Make sure we RELEASE NOTE this.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2013-08-19 14:42:39 -07:00
Rodney Ewing
bd0b5daa44 -skip persona test is requests is not installed
- should use request.urlgen for location
2013-08-19 14:33:07 -07:00
Rodney Ewing
f9931418d6 skip openid test if python-openid isn't installed 2013-08-16 10:30:20 -07:00
Rodney Ewing
c37f31fbf3 use new in-memory db for testing 2013-08-16 10:28:49 -07:00
Rodney Ewing
33b5cebe75 fixed some typos and missed imports 2013-08-16 10:28:49 -07:00
Rodney Ewing
af665c4eb9 moved change_pass to basic_auth and fixed some typos with the moving of forgot pass 2013-08-16 10:28:48 -07:00
Rodney Ewing
71b2bee622 fix persona tests by using a correct query 2013-08-15 17:36:56 -07:00
Rodney Ewing
b1ac679592 skip test if python-ldap is not installed 2013-08-15 16:02:24 -07:00
Rodney Ewing
d68ada283b added tests for ldap plugin 2013-08-15 16:02:00 -07:00
Christopher Allan Webber
97b9b98c1e Merge branch 'persona_resquash' 2013-08-15 17:07:14 -05:00
Christopher Allan Webber
4834ef8ec2 Merge remote-tracking branch 'refs/remotes/tsyesika/master'
New oauth tools!  Heck yeah!
2013-08-15 10:34:20 -05:00
tilly-Q
84c1cd7c52 I added a few more unitests in this commit. It now confirms that even after mi-
-gration, there is only one of each Foundation object.
2013-07-31 20:50:38 -04:00
tilly-Q
860fa806ee In this commit I added a few unittests to account for Foundations. There were
only a few tests I had to add to mediagoblin/tests/test_sql_migrations.py beca-
-use the foundation creation only happens at database initialization.
2013-07-31 20:12:35 -04:00
tilly-Q
63c3ca28ab Starting to write unit tests... 2013-07-30 19:06:26 -04:00
xray7224
89d5b44e0a Adds test for request_tokens 2013-07-18 19:15:05 +01:00
xray7224
86ba416883 Adds some tests for the OAuth and some docs 2013-07-16 19:19:49 +01:00
xray7224
1c694fbec5 Fixes tests 2013-07-14 19:00:52 +01:00
Christopher Allan Webber
df206ab633 Skip the openid tests if the openid module is not installed.
This commit sponsored by Brandon Smith.  Thank you!
2013-07-14 11:23:52 -05:00
Christopher Allan Webber
5305fee13b Merge branch 'rodney757-media_plugins'
Conflicts:
	mediagoblin.ini
	mediagoblin/tests/test_mgoblin_app.ini
2013-07-12 16:24:36 -05:00
Christopher Allan Webber
60eeb45664 Switch the import of the image media manager over to the new class
This helps resolve one of the remaining issues with the tests for the
media type pluginification.

This commit sponsored by Jeffrey Moe.  Thanks Jeff!  Lulzbot rocks!
2013-07-12 14:53:10 -05:00
Rodney Ewing
44082b12d8 Patch by Strum. Ticket #451 - Convert all mongokit style .find, .find_one, .one calls over to SQLAlchemy queries 2013-07-11 14:17:50 -07:00
Rodney Ewing
4f8f0a4e1f merge --squash persona branch to take care of a false merge commit in
the basic_auth branch that persona is forked from

Conflicts:
	mediagoblin/templates/mediagoblin/auth/login.html
	mediagoblin/templates/mediagoblin/auth/register.html
	mediagoblin/templates/mediagoblin/edit/edit_account.html

These are commit messages from the squashed persona stuff:

 - added tests and fixed minor errors
 - fixed a redirect loop when only persona is enabled and accessing /auth/login
 - moved persona.js to plugin's static dir
 - fixes for add/remove persona emails
 - add and remove personas
 - working with multiple plugins
 - working version
 - switched to hidden form instead of ajax
 - beginings
2013-07-03 15:07:39 -05:00
Christopher Allan Webber
41a14c6efc Merge remote-tracking branch 'remotes/lotusecho/trac_711_test_speed' 2013-07-03 14:07:11 -05:00
Rodney Ewing
5adb906a0a merge --squash openid branch to take care of a false merge commit in the
basic_auth branch that openid is forked from

Commits squashed together (in reverse chronological order):
 - do the label thing only for boolean fields
 - made edit_account to autofocus on the first field
 - added feature to render_divs where if field.label == '' then it
   will render form.description the same a render_label
 - added allow_registration check
 - refactored create_user
 - removed verification_key from create_user
 - removed get_user from openid
 - cleanup after removing openid from template_env.globals
 - fix for werkzueg 0.9.1
 - cleanup after merge
 - more tests
 - restored openid extra_validation just for safety
 - tests for openid
 - deleted openid extra_validation
 - passed next parameter in session for openid
 - fixed a bug that was deleting the messages
 - implemented openid store using sqlalchemy
 - ask openid provider for 'nickname' to prefill username in registration form
 - refactored delete openid url to work with generic urls such as
   google and to not allow a user to delete a url if it is there only
   one and they don't have a pw
 - refactored login to register user workflow, which fixed a problem
   where the 'or register with a password link' wasn't showing up when
   the finish_login view called the register view because there wasn't
   any redirect.
 - added the ability to remove openid's
 - added the ability to add openids to an existing account
 - refactored start_login and finish_login views
 - modified edit_account.html to use render_divs
 - modified gmg/edit/views to behave appropriatly if no password
   authentication is enabled. moved the update email stuff to it's own
   funtion to make edit_account view cleaner. edit_account now
   modifies the form depending on the plugins.
 - minor typos
 - added retrieving email from openid provider
 - moved allow_registration check to a decorator
 - moved check if auth is enabled to a decorator
 - changed openid user registration to go through login first
 - cleanup after merge
 - modified verification emails to use itsdangerous tokens
 - added error handling on bad token, fixed route, and added tests
 - added support for user to change email address
 - added link to login view openid/password in login template
 - updated openid get_user function
 - modified get_user function to take kwargs instead of username
 - no need for user might be email kwarg in check_login_simple
 - added gen_password_hash and check_password functions to auth/__init__
 - added focus to form input
 - made imports fully qualified
 - modified basic_auth.check_login to check that the user has a pw_hash first
 - changed occurances of form.data['whatever'] to form.whatever.data
 - convert tabs to spaces in register template, remove unsed
   templates, and fixed trans tags in templates
 - in process of openid login. it works, but needs major imporvements
 - make password field required in basic_auth form
 - check if password field present in basic_auth create_user
 - modified openid create_user function
 - modified models based on Elronds suggestions
 - changed register form action to a variable to be passed in by the
   view using the template
 - openid plugin v0, still need to authenticate via openid.
 - added a register_user function to be able to use in a plugin's
   register view, and modified auth/views.register to redirect to
   openid/register if appropriate.
 - Modified basic_auth plugin to work with modified auth plugin
   hooks. Added context variables. Removed basic_auth/tools which was
   previously renamed to basic_auth/lib.
 - modified auth/__init__ hooks to work better with multiple
   plugins. Removed auth/lib.py. And added a basic_extra_verification
   function that all plugins will use.
 - added models and migrations for openid plugin
2013-07-03 13:49:16 -05:00
Rodney Ewing
e699197258 fixed some typos and enabled media_type plugins in tests 2013-07-02 08:06:39 -07:00
Emily O'Leary
4a698535bc Improved test runtime from 352 seconds to 59 seconds by implementing an in-memory sqlite DB and including an option to run migrations on this newly created database by adding a config option called run_migrations to the config_spec and passing it along in app.py to the setup_database function. 2013-06-25 20:57:50 -04:00
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