velocity-python 0.0.238__tar.gz → 0.0.240__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {velocity_python-0.0.238/src/velocity_python.egg-info → velocity_python-0.0.240}/PKG-INFO +1 -1
- {velocity_python-0.0.238 → velocity_python-0.0.240}/pyproject.toml +1 -1
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/__init__.py +1 -1
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/formbuilder/reshaper.py +26 -1
- {velocity_python-0.0.238 → velocity_python-0.0.240/src/velocity_python.egg-info}/PKG-INFO +1 -1
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_formbuilder_reshaper.py +55 -2
- {velocity_python-0.0.238 → velocity_python-0.0.240}/LICENSE +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/README.md +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/setup.cfg +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/formbuilder/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/invoices.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/orders.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/payments.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/purchase_orders.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/tests/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/tests/test_email_processing.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/tests/test_payment_profile_sorting.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/tests/test_spreadsheet_functions.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/validators/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/validators/formbuilder_template.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/amplify.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/amplify_build.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/base_handler.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/context.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/context_factory.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/exceptions.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/lambda_handler.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/data_service.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/web_handler.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/perf.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/response.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/sqs_handler.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/tests/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/tests/test_base_handler_error_response.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/tests/test_lambda_handler_json_serialization.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/tests/test_response.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/column.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/database.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/decorators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/engine.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/result.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/row.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/sequence.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/table.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/transaction.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/core/view.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/exceptions.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/initializer.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/operators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/sql.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/types.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/operators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/reserved.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/sql.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/types.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/operators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/reserved.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/sql.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/types.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/operators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/reserved.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/sql.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/types.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/operators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/reserved.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/sql.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/types.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/tablehelper.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/common_db_test.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/common.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_column.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_connections.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_database.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_engine.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_general_usage.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_imports.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_result.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_row.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_row_comprehensive.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_schema_locking.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_schema_locking_unit.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_sequence.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_sql_comprehensive.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_table.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_table_comprehensive.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_transaction.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/sql/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/sql/common.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/sql/test_postgres_select_advanced.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/sql/test_postgres_select_variances.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_cursor_rowcount_fix.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_db_utils.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_postgres.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_postgres_unchanged.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_process_error_robustness.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_result_caching.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_result_sql_aware.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_row_get_missing_column.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_schema_locking_initializers.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_schema_locking_simple.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_sql_builder.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_tablehelper.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_view_helper.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/utils.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/logging.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/conv/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/conv/iconv.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/conv/oconv.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/db.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/export.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/format.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/mail.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/merge.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_db.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_fix.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_format.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_iconv.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_merge.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_oconv.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_original_error.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_timer.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/timer.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tools.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/__init__.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/authorizenet_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/base_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/braintree_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/charge_rules.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/demo_profiles.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/profiles.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/router.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/stripe_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/SOURCES.txt +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/dependency_links.txt +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/requires.txt +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/top_level.txt +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_amplify_build.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_decorators.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_formbuilder_template_validator.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_iconv_money_to_cents.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_lambda_handler.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_lambda_handler_auth.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_mixins_import.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_payment_braintree_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_payment_demo_profiles.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_payment_profiles.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_payment_router.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_payment_stripe_adapter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_sys_modified_count_postgres_demo.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_table_alter.py +0 -0
- {velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_where_clause_validation.py +0 -0
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/formbuilder/reshaper.py
RENAMED
|
@@ -168,7 +168,32 @@ def reshape_formbuilder_template(raw_row: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
168
168
|
if key.startswith("sys_"):
|
|
169
169
|
del fb[key]
|
|
170
170
|
|
|
171
|
-
for key in (
|
|
171
|
+
for key in (
|
|
172
|
+
"url_slug",
|
|
173
|
+
"url_slug_alternate",
|
|
174
|
+
# Administrative / validation metadata — not read by DonateMain frontend
|
|
175
|
+
"is_published",
|
|
176
|
+
"datetime_last_validated",
|
|
177
|
+
"last_validation_result",
|
|
178
|
+
"last_validation_reason",
|
|
179
|
+
# Backend-only: security / fraud prevention
|
|
180
|
+
"whitelist_end_date",
|
|
181
|
+
"recaptcha_version",
|
|
182
|
+
"recaptcha_v3_score_threshold",
|
|
183
|
+
# Backend-only: routing / campaign metadata
|
|
184
|
+
"campaign",
|
|
185
|
+
"sub_campaign",
|
|
186
|
+
# Backend-only: email receipts (server-side sending only)
|
|
187
|
+
"receipt_from_address",
|
|
188
|
+
"receipt_subject",
|
|
189
|
+
"receipt_body_text",
|
|
190
|
+
"mail_bcc",
|
|
191
|
+
# Backend-only: rally out-of-band receipts
|
|
192
|
+
"rally_receipt_from_address",
|
|
193
|
+
"rally_receipt_subject",
|
|
194
|
+
"rally_receipt_body_text",
|
|
195
|
+
"rally_mail_bcc",
|
|
196
|
+
):
|
|
172
197
|
fb.pop(key, None)
|
|
173
198
|
|
|
174
199
|
return fb
|
|
@@ -23,6 +23,9 @@ def _make_row(**overrides):
|
|
|
23
23
|
"campaign": "2024",
|
|
24
24
|
"sub_campaign": "",
|
|
25
25
|
"is_published": True,
|
|
26
|
+
"datetime_last_validated": "2024-01-01T00:00:00Z",
|
|
27
|
+
"last_validation_result": "passed",
|
|
28
|
+
"last_validation_reason": "[]",
|
|
26
29
|
"url_slug": "tigers-2024",
|
|
27
30
|
"url_slug_alternate": "",
|
|
28
31
|
"primary_color": "#003087",
|
|
@@ -135,6 +138,55 @@ class TestFieldStripping:
|
|
|
135
138
|
assert "url_slug" not in result
|
|
136
139
|
assert "url_slug_alternate" not in result
|
|
137
140
|
|
|
141
|
+
def test_admin_metadata_stripped(self):
|
|
142
|
+
row = _make_row(
|
|
143
|
+
is_published=True,
|
|
144
|
+
datetime_last_validated="2024-01-01T00:00:00Z",
|
|
145
|
+
last_validation_result="passed",
|
|
146
|
+
last_validation_reason="[]",
|
|
147
|
+
)
|
|
148
|
+
result = reshape_formbuilder_template(row)
|
|
149
|
+
assert "is_published" not in result
|
|
150
|
+
assert "datetime_last_validated" not in result
|
|
151
|
+
assert "last_validation_result" not in result
|
|
152
|
+
assert "last_validation_reason" not in result
|
|
153
|
+
|
|
154
|
+
def test_backend_only_fields_stripped(self):
|
|
155
|
+
"""Fields used only on the server side must never reach the browser."""
|
|
156
|
+
row = _make_row(
|
|
157
|
+
whitelist_end_date="2024-12-31",
|
|
158
|
+
recaptcha_version="v3",
|
|
159
|
+
recaptcha_v3_score_threshold=0.5,
|
|
160
|
+
campaign="2024-annual",
|
|
161
|
+
sub_campaign="fall",
|
|
162
|
+
receipt_from_address="receipts@example.com",
|
|
163
|
+
receipt_subject="Thank you",
|
|
164
|
+
receipt_body_text="<p>Thank you!</p>",
|
|
165
|
+
mail_bcc="bcc@example.com",
|
|
166
|
+
rally_receipt_from_address="rally@example.com",
|
|
167
|
+
rally_receipt_subject="Rally receipt",
|
|
168
|
+
rally_receipt_body_text="<p>Rally!</p>",
|
|
169
|
+
rally_mail_bcc="rallybcc@example.com",
|
|
170
|
+
)
|
|
171
|
+
result = reshape_formbuilder_template(row)
|
|
172
|
+
backend_only = [
|
|
173
|
+
"whitelist_end_date",
|
|
174
|
+
"recaptcha_version",
|
|
175
|
+
"recaptcha_v3_score_threshold",
|
|
176
|
+
"campaign",
|
|
177
|
+
"sub_campaign",
|
|
178
|
+
"receipt_from_address",
|
|
179
|
+
"receipt_subject",
|
|
180
|
+
"receipt_body_text",
|
|
181
|
+
"mail_bcc",
|
|
182
|
+
"rally_receipt_from_address",
|
|
183
|
+
"rally_receipt_subject",
|
|
184
|
+
"rally_receipt_body_text",
|
|
185
|
+
"rally_mail_bcc",
|
|
186
|
+
]
|
|
187
|
+
for field in backend_only:
|
|
188
|
+
assert field not in result, f"Backend-only field '{field}' must be stripped"
|
|
189
|
+
|
|
138
190
|
def test_num_entries_added(self):
|
|
139
191
|
row = _make_row()
|
|
140
192
|
result = reshape_formbuilder_template(row)
|
|
@@ -249,11 +301,12 @@ class TestTopLevelFields:
|
|
|
249
301
|
assert result["primary_color"] == "#003087"
|
|
250
302
|
assert result["page_title"] == "Give Now"
|
|
251
303
|
|
|
252
|
-
def
|
|
304
|
+
def test_client_preserved(self):
|
|
305
|
+
"""client is used by the frontend (RivalThermometer, Braintree display name)."""
|
|
253
306
|
row = _make_row(client="TIGERS", campaign="2024")
|
|
254
307
|
result = reshape_formbuilder_template(row)
|
|
255
308
|
assert result["client"] == "TIGERS"
|
|
256
|
-
assert
|
|
309
|
+
assert "campaign" not in result # campaign is backend-only routing metadata
|
|
257
310
|
|
|
258
311
|
def test_unknown_custom_fields_preserved(self):
|
|
259
312
|
"""Extra columns added to the DB table should pass through untouched."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/formbuilder/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/app/tests/test_email_processing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/base_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/context_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/lambda_handler.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/data_service.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/mixins/web_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/aws/handlers/sqs_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/initializer.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/base/operators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/mysql/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/postgres/types.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlite/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/reserved.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/sql.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/servers/sqlserver/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/common.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_column.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_database.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_imports.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_result.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_row.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_sequence.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/postgres/test_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_postgres_unchanged.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_result_caching.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_result_sql_aware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_sql_builder.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_tablehelper.py
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/db/tests/test_view_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/misc/tests/test_original_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/authorizenet_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity/payment/braintree_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/requires.txt
RENAMED
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/src/velocity_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_formbuilder_template_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.0.238 → velocity_python-0.0.240}/tests/test_sys_modified_count_postgres_demo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|