3017 Commits

Author SHA1 Message Date
Joar Wandborg
c121a7d3d0 OAuth: Support refresh tokens, etc
Initially I was going to write a failing test for refresh tokens. Thus
this fix includes an orphaned 'expect_failure' method in test utils.

I ended up writing support for OAuth refresh tokens, as well as a lot of
cleanup (hopefully) in the OAuth plugin code.

**Rebase**: While waiting for this stuff to be merged, the testing
framework changed, it comes with batteries included regarding fails.
Removed legacy nosetest helper.

Also added a lot of backref=backref([...], cascade='all, delete-orphan')
2013-04-06 22:17:27 +02:00
Christopher Allan Webber
7d503a897b Really removing nosetests things now! all assert_whatever removed 2013-04-06 10:08:26 -05:00
Elrond
4412385394 Better docs for GenerateSlugMixin. 2013-04-06 16:53:04 +02:00
Elrond
455fd36ff6 Use GenerateSlugMixin for collections.
Use the new way of generating slugs also for collections.
Also drop the dummy_db arg to check_collection_slug_used.
2013-04-06 16:53:04 +02:00
Elrond
29c65044bf Refactor generate_slug into a mixin.
Refactor the new generate_slug into a mixin to
allow it to be used for collections also.
2013-04-06 16:53:04 +02:00
Christopher Allan Webber
fe6755f0f4 Merge branch '614_multi_test_config' 2013-04-04 19:44:36 -05:00
Christopher Allan Webber
5c2ece7401 Switch test_app generation over to use py.test fixtures.
By doing this, we can take advantage of py.test's ability to create
temporary directories that are then cleaned up later during testing.
This helps for sandboxing things.

This also involves a ton of changes:
 - Changing the get_app stuff appropriately, getting rid of the
   setup_fresh_app decorator
 - Making said fixture
 - Switching over a billion tests to use it
2013-04-04 19:23:04 -05:00
Christopher Allan Webber
e11c62a0ef Oops, forgot to assign dump_old_app to self, heh. 2013-04-04 11:13:47 -05:00
Christopher Allan Webber
245d4f119f Turning setup_fresh_app into SetupFreshApp, a decorator with options!
This way people can pass in particular paste/mediagoblin configs that they want to use.
2013-04-04 11:08:50 -05:00
Christopher Allan Webber
6588acc183 Updating get_app to allow for passing in particular app configs 2013-04-04 10:37:32 -05:00
Christopher Allan Webber
39a71c09d7 Also require pytest-xdist! 2013-04-03 16:31:42 -05:00
Christopher Allan Webber
c8196f2805 Use py.test --boxed for unit tests from now on! 2013-04-03 15:21:40 -05:00
Christopher Allan Webber
cb14544082 These tests need to have a MediaGoblin app setup so they can connect to the db!
Thanks to py.test --boxed for helping discover that ;)
2013-04-03 14:32:35 -05:00
Christopher Allan Webber
958080be16 All mediagoblin tests now pass with py.test (switched setUp to setup) 2013-04-03 14:05:42 -05:00
Elrond
d9f61cf7d7 Create ProcessingState.store_public.
The ideas is by Alon Levy.

Use it in ProcessingState.copy_original for now.
2013-04-03 18:52:17 +02:00
Elrond
af0b508c75 Little refactoring for images: media_files.
Set the media_files directly at the relvant places.
2013-04-03 18:49:46 +02:00
Elrond
b1126f7127 A bit of pep8: Remove useless whitespace. 2013-03-30 14:55:10 +01:00
Elrond
4924b93bac Merge remote-tracking branch 'JDShu/649_use_form_data_field'
* JDShu/649_use_form_data_field:
  Use WTForms data field in user_pages/views.py
  Use WTForms data field in auth/views.py
  auth: whitespace cleanup in views.py
  Use WTForms data field in plugins/oauth/views.py
  Use WTForms data field in submit/views.py
  Use WTForms data field in edit/views.py
2013-03-30 14:42:45 +01:00
Christopher Allan Webber
047d8d5871 Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin 2013-03-29 08:09:36 -05:00
Christopher Allan Webber
6c6e9911f5 Warning that raven plugin is somewhat experimental! 2013-03-29 08:09:26 -05:00
Elrond
2ef2f46e73 Refactor file field checking.
When uploading, the file field needs some checks, it seems.
So refactor them into check_file_field and use around.
2013-03-29 12:01:23 +01:00
Hans Lo
c5d341d79d Use WTForms data field in user_pages/views.py
Missed case in a previous commit.
2013-03-28 04:26:48 -04:00
Hans Lo
9d140cb842 Use WTForms data field in auth/views.py 2013-03-28 04:26:33 -04:00
Hans Lo
dfa6994d4d auth: whitespace cleanup in views.py 2013-03-28 01:32:44 -04:00
Hans Lo
29f523e1db Use WTForms data field in plugins/oauth/views.py 2013-03-28 00:08:18 -04:00
Hans Lo
c5673a1300 Use WTForms data field in submit/views.py 2013-03-27 23:56:33 -04:00
Hans Lo
dc03850b7a Use WTForms data field in edit/views.py 2013-03-27 23:56:20 -04:00
Elrond
9924cd0fb6 piwigo: Fix pwg_getversion
This one needs to return just "2.5.0 (Mediagoblin)" instead
of "Piwigo 2...".
2013-03-26 19:23:22 +01:00
Elrond
79f87b975e piwigo: Start at pwg.images.addSimple.
Without a session and a logged in user, this can't go much
further.

Misses check for the file upload field.
Need refactored test tool for this.
2013-03-26 19:19:32 +01:00
Brett Smith
3843697c28 Call is_updated instead of testing it boolean. 2013-03-25 09:20:46 -04:00
Christopher Allan Webber
126c3503a0 Merge remote-tracking branch 'aeva/671_fix_stl' 2013-03-25 08:01:11 -05:00
Aeva Ntsc
50d123b4be Ascii stl files now should have their whitespace stripped when parsing. 2013-03-25 07:55:24 -05:00
Aeva Ntsc
eacb9c4886 Fixed a bug that had binary stls be handled by the ascii stl parser. 2013-03-24 16:12:55 -05:00
Brett Smith
09102e0767 Harden It's Dangerous key management.
The previous code was theoretically subject to timing attacks, where
an attacker could read the key in between the time it was saved to the
file and when the chmod happened.  This version prevents that by using
umasks to ensure the files always have the right permissions.

This version also avoids using a key that cannot be saved due to some
system setup bug.
2013-03-24 16:27:20 -04:00
Brett Smith
e84e1cdf12 First tests for the Session class. 2013-03-24 15:46:10 -04:00
Brett Smith
5d1a8815d1 Set a starting value for session.send_new_cookie.
This makes session.__init__ slightly more complicated but probably
simplifies everything else, especially if we make the class smarter
later by having it track changes itself.
2013-03-24 15:39:49 -04:00
Brett Smith
9e1fa2396f Remove beaker stuff from the code.
This is all obsoleted by It's Dangerous.
2013-03-24 15:10:08 -04:00
Brett Smith
627a721cf6 Delete the session cookie on an empty session. 2013-03-24 14:47:02 -04:00
Brett Smith
c7424612d7 Back sessions with It's Dangerous.
This is a contribution to #668.
2013-03-24 14:44:41 -04:00
Christopher Allan Webber
956a87322e Merge remote-tracking branch 'jdshu/649_use_form_data_field' 2013-03-24 13:25:01 -05:00
Christopher Allan Webber
db9ab08a11 Webtest2 breaks response.cookies stuff for some reason.
I don't understand why but other people do!

This is a terrible commit message and I am sorry for it.
2013-03-24 13:22:31 -05:00
Hans Lo
2263a4cb5c Use WTForms data field in user_pages/views.py 2013-03-24 13:56:08 -04:00
Joar Wandborg
b06ea4ab46 Updated VideoThumbnailerMarkII, removed old
Removed the old VideoThumbnailer since it's not used anymore.

VideoThumbnailerMarkII:
Changed the state switching in on_thumbnail_message to only set the
state to "processing thumbnail" if the seek was succesful.

I'm not sure what I'm doing here, but I know at least some of it is
good, and as a whole, it seems to work, so far :)
2013-03-24 18:49:05 +01:00
Christopher Allan Webber
05eee632f8 Adding documentation on what the $need_arg code in runtests.sh does 2013-03-24 09:51:35 -05:00
Christopher Allan Webber
9430b957e4 Move description of software stack below description of "What's where" 2013-03-24 09:26:04 -05:00
Elrond
bb530c4445 Improve fs security for itsdangerous secret.
Set mode 700 on the directory, mode 600 on the file.
2013-03-22 19:12:55 +01:00
Elrond
5a8aae3aba Docs for get_timed_signer_url. 2013-03-22 19:09:19 +01:00
Elrond
5907154a59 Basic itsdangerous infrastructure.
Implement the basic infrastructure for using itsdangerous
in mediagoblin. Usage instructions will follow.
2013-03-22 18:46:47 +01:00
Elrond
398d384137 piwigo start at pwg.images.addChunk.
This function receives part of an upload. Does most
parameter validation, but does not safe the data anywhere
for now.

Also fake pwg.images.exist
2013-03-21 09:18:07 +01:00
Elrond
cf0816c182 piwigo: Add session.getStatus, improve categories.getList
- pwg.session.getStatus returns the current user as
  "fake_user".  When we have a session, we'll return
  something better.

- pwg.categories.getList add a name and the parent id for
  its one and only "collection".

- Improve logging a bit.
2013-03-21 09:18:07 +01:00