kopia lustrzana https://github.com/snarfed/bridgy-fed
unify app engine testbed setup/teardown into testutil.TestCase
rodzic
394c666f46
commit
779b62c837
|
@ -1,25 +1,12 @@
|
||||||
# coding=utf-8
|
# coding=utf-8
|
||||||
"""Unit tests for models.py."""
|
"""Unit tests for models.py."""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import unittest
|
|
||||||
|
|
||||||
from google.appengine.datastore import datastore_stub_util
|
|
||||||
from google.appengine.ext import testbed
|
|
||||||
|
|
||||||
import models
|
import models
|
||||||
|
import testutil
|
||||||
|
|
||||||
|
|
||||||
class ModelsTest(unittest.TestCase):
|
class ModelsTest(testutil.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.testbed = testbed.Testbed()
|
|
||||||
self.testbed.activate()
|
|
||||||
hrd_policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=.5)
|
|
||||||
self.testbed.init_datastore_v3_stub(consistency_policy=hrd_policy)
|
|
||||||
self.testbed.init_memcache_stub()
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
self.testbed.deactivate()
|
|
||||||
|
|
||||||
def test_magic_key_get_or_create(self):
|
def test_magic_key_get_or_create(self):
|
||||||
key = models.MagicKey.get_or_create('x@y.z')
|
key = models.MagicKey.get_or_create('x@y.z')
|
||||||
|
|
|
@ -5,47 +5,34 @@ TODO: test error handling
|
||||||
"""
|
"""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import copy
|
import copy
|
||||||
import unittest
|
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
from google.appengine.datastore import datastore_stub_util
|
|
||||||
from google.appengine.ext import testbed
|
|
||||||
|
|
||||||
from django_salmon import magicsigs
|
from django_salmon import magicsigs
|
||||||
import mock
|
import mock
|
||||||
from oauth_dropins.webutil import testutil
|
from oauth_dropins.webutil.testutil import UrlopenResult
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
import common
|
import common
|
||||||
import models
|
import models
|
||||||
from salmon import app
|
from salmon import app
|
||||||
|
import testutil
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('requests.post')
|
@mock.patch('requests.post')
|
||||||
@mock.patch('requests.get')
|
@mock.patch('requests.get')
|
||||||
@mock.patch('urllib2.urlopen')
|
@mock.patch('urllib2.urlopen')
|
||||||
class SalmonTest(unittest.TestCase):
|
class SalmonTest(testutil.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.testbed = testbed.Testbed()
|
|
||||||
self.testbed.activate()
|
|
||||||
hrd_policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=.5)
|
|
||||||
self.testbed.init_datastore_v3_stub(consistency_policy=hrd_policy)
|
|
||||||
self.testbed.init_memcache_stub()
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
self.testbed.deactivate()
|
|
||||||
|
|
||||||
def test_slap(self, mock_urlopen, mock_get, mock_post):
|
def test_slap(self, mock_urlopen, mock_get, mock_post):
|
||||||
# salmon magic key discovery. first host-meta, then webfinger
|
# salmon magic key discovery. first host-meta, then webfinger
|
||||||
key = models.MagicKey.get_or_create('alice')
|
key = models.MagicKey.get_or_create('alice')
|
||||||
mock_urlopen.side_effect = [
|
mock_urlopen.side_effect = [
|
||||||
testutil.UrlopenResult(200, """\
|
UrlopenResult(200, """\
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
|
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
|
||||||
<Link rel='lrdd' type='application/xrd+xml' template='http://webfinger/{uri}' />
|
<Link rel='lrdd' type='application/xrd+xml' template='http://webfinger/{uri}' />
|
||||||
</XRD>"""),
|
</XRD>"""),
|
||||||
testutil.UrlopenResult(200, """\
|
UrlopenResult(200, """\
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
|
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
|
||||||
<Subject>alice@fedsoc.net</Subject>
|
<Subject>alice@fedsoc.net</Subject>
|
||||||
|
|
|
@ -5,10 +5,6 @@ TODO: test error handling
|
||||||
"""
|
"""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import json
|
import json
|
||||||
import unittest
|
|
||||||
|
|
||||||
from google.appengine.datastore import datastore_stub_util
|
|
||||||
from google.appengine.ext import testbed
|
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
from oauth_dropins.webutil import util
|
from oauth_dropins.webutil import util
|
||||||
|
@ -16,23 +12,11 @@ import requests
|
||||||
|
|
||||||
import common
|
import common
|
||||||
import models
|
import models
|
||||||
|
import testutil
|
||||||
from webfinger import app
|
from webfinger import app
|
||||||
|
|
||||||
|
|
||||||
class WebFingerTest(unittest.TestCase):
|
class WebFingerTest(testutil.TestCase):
|
||||||
|
|
||||||
maxDiff = None
|
|
||||||
|
|
||||||
# TODO: unify with test_models, test_salmon
|
|
||||||
def setUp(self):
|
|
||||||
self.testbed = testbed.Testbed()
|
|
||||||
self.testbed.activate()
|
|
||||||
hrd_policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=.5)
|
|
||||||
self.testbed.init_datastore_v3_stub(consistency_policy=hrd_policy)
|
|
||||||
self.testbed.init_memcache_stub()
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
self.testbed.deactivate()
|
|
||||||
|
|
||||||
def test_host_meta_handler_xrd(self):
|
def test_host_meta_handler_xrd(self):
|
||||||
got = app.get_response('/.well-known/host-meta')
|
got = app.get_response('/.well-known/host-meta')
|
||||||
|
|
|
@ -6,13 +6,11 @@ TODO: test error handling
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import copy
|
import copy
|
||||||
import json
|
import json
|
||||||
import unittest
|
|
||||||
import urllib
|
import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
|
from django_salmon import magicsigs, utils
|
||||||
import feedparser
|
import feedparser
|
||||||
from google.appengine.datastore import datastore_stub_util
|
|
||||||
from google.appengine.ext import testbed
|
|
||||||
import mock
|
import mock
|
||||||
from mock import call
|
from mock import call
|
||||||
from oauth_dropins.webutil import util
|
from oauth_dropins.webutil import util
|
||||||
|
@ -20,25 +18,18 @@ import requests
|
||||||
|
|
||||||
import activitypub
|
import activitypub
|
||||||
import common
|
import common
|
||||||
from django_salmon import magicsigs, utils
|
|
||||||
import models
|
import models
|
||||||
|
import testutil
|
||||||
import webmention
|
import webmention
|
||||||
from webmention import app
|
from webmention import app
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('requests.post')
|
@mock.patch('requests.post')
|
||||||
@mock.patch('requests.get')
|
@mock.patch('requests.get')
|
||||||
class WebmentionTest(unittest.TestCase):
|
class WebmentionTest(testutil.TestCase):
|
||||||
|
|
||||||
maxDiff = None
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.testbed = testbed.Testbed()
|
super(WebmentionTest, self).setUp()
|
||||||
self.testbed.activate()
|
|
||||||
hrd_policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=.5)
|
|
||||||
self.testbed.init_datastore_v3_stub(consistency_policy=hrd_policy)
|
|
||||||
self.testbed.init_memcache_stub()
|
|
||||||
|
|
||||||
self.reply_html = u"""\
|
self.reply_html = u"""\
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
|
@ -70,9 +61,6 @@ class WebmentionTest(unittest.TestCase):
|
||||||
</entry>
|
</entry>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
self.testbed.deactivate()
|
|
||||||
|
|
||||||
def test_webmention_activitypub(self, mock_get, mock_post):
|
def test_webmention_activitypub(self, mock_get, mock_post):
|
||||||
article_as = {
|
article_as = {
|
||||||
'@context': ['https://www.w3.org/ns/activitystreams'],
|
'@context': ['https://www.w3.org/ns/activitystreams'],
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
"""Common test utility code.
|
||||||
|
"""
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from google.appengine.datastore import datastore_stub_util
|
||||||
|
from google.appengine.ext import testbed
|
||||||
|
|
||||||
|
|
||||||
|
class TestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
maxDiff = None
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestCase, self).setUp()
|
||||||
|
self.testbed = testbed.Testbed()
|
||||||
|
self.testbed.activate()
|
||||||
|
hrd_policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=.5)
|
||||||
|
self.testbed.init_datastore_v3_stub(consistency_policy=hrd_policy)
|
||||||
|
self.testbed.init_memcache_stub()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.testbed.deactivate()
|
||||||
|
super(TestCase, self).tearDown()
|
Ładowanie…
Reference in New Issue