https-jrtorres042-github-com
/
git_microsoft-powershell_achived-credential_terms-of-service_blog_covid-19_chromium-apis_sdks-diff-1
Public template
forked from GoogleChrome/chromium-dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtesting_config.py
133 lines (105 loc) · 4.29 KB
/
testing_config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
from __future__ import division
from __future__ import print_function
# Copyright 2020 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License")
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
import os
import sys
import unittest
app_engine_path = os.environ.get('APP_ENGINE_PATH', '')
if not app_engine_path:
app_engine_path = '/usr/lib/google-cloud-sdk/platform/google_appengine'
if not os.path.exists(app_engine_path):
app_engine_path = '/home/travis/google-cloud-sdk/platform/google_appengine'
if os.path.exists(app_engine_path):
sys.path.insert(0, app_engine_path)
else:
print('Could not find appengine, please set APP_ENGINE_PATH',
file=sys.stderr)
sys.exit(1)
import dev_appserver
dev_appserver.fix_sys_path()
lib_path = os.path.join(os.path.dirname(__file__), 'lib')
from google.appengine.ext import vendor
vendor.add(lib_path) # add third party libs to "lib" folder.
from google.cloud import ndb
from google.appengine.ext import testbed
os.environ['DJANGO_SECRET'] = 'test secret'
os.environ['SERVER_SOFTWARE'] = 'test ' + os.environ.get('SERVER_SOFTWARE', '')
os.environ['CURRENT_VERSION_ID'] = 'test.123'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
os.environ['DATASTORE_EMULATOR_HOST'] = 'localhost:15606'
ourTestbed = testbed.Testbed()
def setUpOurTestbed():
# needed because endpoints expects a . in this value
ourTestbed.setup_env(current_version_id='testbed.version')
ourTestbed.activate()
# Can't use init_all_stubs() because PIL isn't in wheel.
ourTestbed.init_app_identity_stub()
ourTestbed.init_blobstore_stub()
ourTestbed.init_capability_stub()
ourTestbed.init_files_stub()
ourTestbed.init_logservice_stub()
ourTestbed.init_mail_stub()
ourTestbed.init_search_stub()
ourTestbed.init_urlfetch_stub()
ourTestbed.init_user_stub()
# Normally this would be done in the setUp() methods of individual test files,
# but we need it to be done before importing any application code because
# models.py makes GAE API calls to in code that runs during loading.
setUpOurTestbed()
from framework import cloud_tasks_helpers
class FakeCloudTasksClient(object):
"""We have no GCT server for unit tests, so just log."""
def queue_path(self, project, location, queue):
"""Return a fully-qualified queue string."""
# This is value is not actually used, but it might be good for debugging.
return "projects/{project}/locations/{location}/queues/{queue}".format(
project=project, location=location, queue=queue)
def create_task(self, unused_parent, task, **kwargs):
"""Just log that the task would have been created URL."""
self.uri = task.get('app_engine_http_request').get('relative_uri')
self.body = task.get('app_engine_http_request').get('body')
logging.info('Task uri: %r', self.uri)
logging.info('Task body: %r', self.body)
return 'fake task'
cloud_tasks_helpers._client = FakeCloudTasksClient()
class Blank(object):
"""Simple class that assigns all named args to attributes.
Tip: supply a lambda to define a method.
"""
def __init__(self, **kwargs):
vars(self).update(kwargs)
def __repr__(self):
return '%s(%s)' % (self.__class__.__name__, str(vars(self)))
def __eq__(self, other):
if other is None:
return False
return vars(self) == vars(other)
def sign_out():
"""Set env variables to represent a signed out user."""
ourTestbed.setup_env(
user_email='', user_id='', user_is_admin='0', overwrite=True)
def sign_in(user_email, user_id):
"""Set env variables to represent a signed out user."""
ourTestbed.setup_env(
user_email=user_email,
user_id=str(user_id),
user_is_admin='0', # This was for GAE user admin, we use AppUser.
overwrite=True)
class CustomTestCase(unittest.TestCase):
def run(self, result=None):
client = ndb.Client()
with client.context():
super(CustomTestCase, self).run(result=result)