1205 Commits

Author SHA1 Message Date
dandds
7ea1ae5a34 Add a JS test for the clin-fields Vue component.
In order to do this, it was expedient to move the CLINFields Jinja macro
into its own file and pass in all the data it requires.
2019-09-24 09:37:30 -04:00
dandds
0d45be68d5 Adjust environment claim test to avoid race condition 2019-09-23 14:53:18 -04:00
dandds
112f0e0ab2 Initial JS tests for the Vue TOForm component.
This adds BeautifulSoup to the Python dev dependencies so that we can
render an entire page and then extract the Vue component we need.
Ideally, we should refactor all the Vue components so that they live in
Jinja macros and we can render those macros directly.
2019-09-20 15:24:55 -04:00
richard-dds
6c7667b7fc Filter out deleted envs in dispatch_create_environment 2019-09-19 14:24:39 -04:00
richard-dds
2fc7a0d460 Add small sleep to claims test to avoid random failures 2019-09-18 16:34:56 -04:00
leigh-mil
b35e8cfe8e Update NewMemberForm so that it has the same data structure as the UpdateMemberForm 2019-09-18 11:16:55 -04:00
leigh-mil
a7f9be5d48 Add comments to explain test 2019-09-18 11:16:55 -04:00
leigh-mil
cf172c486c Remove test for old applications.settings data structure and replace with test for refactored get_members_data() function 2019-09-18 11:16:55 -04:00
leigh-mil
e341a73dd1 Remove unused code 2019-09-18 11:16:55 -04:00
leigh-mil
80dcb9c580 Move perms so they are at the top level of the form so that the data is properly populated
Add form fields for all environments in update member form
2019-09-18 11:16:54 -04:00
leigh-mil
93530e903f Create route for updating app member 2019-09-18 11:16:54 -04:00
leigh-mil
4dab326eef Clean up code and formatting 2019-09-18 11:16:54 -04:00
leigh-mil
1fd2d9f496 Make form class for updating application member 2019-09-18 11:16:54 -04:00
richard-dds
343e5a52ac Use session.refresh in tests 2019-09-17 15:29:33 -04:00
richard-dds
3f072bac3c Remove unused users 2019-09-17 15:28:07 -04:00
richard-dds
ade7dc08fd Only fetch environment_id in provisioning queries 2019-09-17 15:27:03 -04:00
richard-dds
68ac7aecdf More test cleanup 2019-09-17 11:47:06 -04:00
richard-dds
23261da3af Use None isntead of sql.null 2019-09-17 11:15:25 -04:00
richard-dds
abeadee3f3 Claim resource only temporarily 2019-09-17 11:03:33 -04:00
richard-dds
945debe6ee Move claim_for_update to models.utils 2019-09-17 10:39:59 -04:00
richard-dds
67a2905d51 Make claim_for_update easier to follow 2019-09-16 17:03:57 -04:00
richard-dds
4624acd1c5 Remove unused import 2019-09-16 17:00:05 -04:00
richard-dds
2bbe974755 Implement simple locking system for environments 2019-09-16 16:39:37 -04:00
richard-dds
79c8e4fc63
Merge pull request #1062 from dod-ccpo/env-provisioning-task
Environment provisioning background jobs
2019-09-16 09:58:18 -04:00
graham-dds
c26f8b92e9 Add tests to validate CLIN funding 2019-09-12 16:11:12 -04:00
graham-dds
2af0a2ecaf Update existing tests for new CLIN logic
- Factory adds total_amount field, which is always greater than obligated
field
- add total_amount field on tests that create TOs manually
- update tests that calculate total_contract_amount and
total_obligated_amount
2019-09-12 16:11:12 -04:00
graham-dds
f3eea39536 Add "total amount" to CLINS
- includes migration for change to model
2019-09-12 16:11:10 -04:00
richard-dds
6100b6e479 Fix create_environments test 2019-09-11 15:36:07 -04:00
leigh-mil
ddcd91964f Remove route 'applications.update_env_roles' and related functions and tests 2019-09-11 15:29:09 -04:00
richard-dds
bc9426015c Add another test for Environments.get_environments_pending_creation 2019-09-11 11:43:10 -04:00
richard-dds
365a50efce Add Environments.provisioning_status 2019-09-11 11:43:10 -04:00
richard-dds
1a9c34d856 Fix and test environment dispatch tasks 2019-09-11 11:43:06 -04:00
richard-dds
6b7db2ca46 Better ergonomics for creating factory portfolios w/ TOs 2019-09-11 11:43:06 -04:00
richard-dds
f6cb6f2a31 Change Environment.creator relation from ApplicationRole to User 2019-09-11 11:42:59 -04:00
richard-dds
4405ed91d5 Fix migration path 2019-09-11 11:42:36 -04:00
richard-dds
c00f13de2c Add query for getting environments pending baseline creation 2019-09-11 11:41:10 -04:00
richard-dds
13861ad998 Add query for getting environments pending atat user creation 2019-09-11 11:41:10 -04:00
richard-dds
e3ea2d2fe5 Move "envs pending creation" query to Environments domain 2019-09-11 11:41:10 -04:00
richard-dds
4a5ca1cd27 Add query for environments pending creation 2019-09-11 11:41:10 -04:00
richard-dds
e9bf806dc6 Environment provisioning celery tasks
Failing test

Break env provisioning task into 3 separate tasks

Make env creation task idempotent

Test other env provisioning tasks

DRY tasks
2019-09-11 11:41:03 -04:00
richard-dds
c9dcacddb0
Merge pull request #1056 from dod-ccpo/mock-csp
Mock implementation of CSP interface
2019-09-10 12:46:52 -04:00
leigh-mil
dcb70ad925
Merge pull request #1060 from dod-ccpo/app-settings-redesign
App settings redesign
2019-09-10 11:20:38 -04:00
leigh-mil
aa45e6b2e1
Merge pull request #1059 from dod-ccpo/pop-configs
PoP validation & Contract date configs
2019-09-10 09:35:46 -04:00
dandds
07ffaae22a
Merge pull request #1061 from dod-ccpo/csp-retry-failure
Record job failures with application context.
2019-09-10 09:13:41 -04:00
leigh-mil
e391c3269d Remove unused route to update team roles 2019-09-09 15:23:37 -04:00
dandds
7010bdb09c Record job failures with application context.
AT-AT needs to be able to track which user tasks failed and why. To
accomplish this we:

- Enabled Celery's results backend, which logs task results to a data
  store; a Postgres table, in our case.
  (https://docs.celeryproject.org/en/latest/userguide/tasks.html#result-backends)
- Created tables to track the relationships between the relevant models
  (Environment, EnvironmentRole) and their task failures.
- Added an `on_failure` hook that tasks can use. The hook will add
  records to the job failure tables.

Now a resource like an `Environment` has access to it task failures
through the corresponding failure table.

Notes:
- It might prove useful to use a real foreign key to the Celery results
  table eventually. I did not do it here because it requires that we
  explicitly store the Celery results table schema as a migration and
  add a model for it. In the current implementation, AT-AT can be
  agnostic about where the results live.
- We store the task results indefinitely, so it is important to specify
  tasks for which we do not care about the results (like `send_mail`)
  via the `ignore_result` kwarg.
2019-09-09 14:54:46 -04:00
richard-dds
6c0420d6c5 Read config to determine mock CSP type 2019-09-09 10:45:38 -04:00
richard-dds
8347e4e387 Formatting 2019-09-09 10:41:17 -04:00
richard-dds
62795561a8 All the methods 2019-09-09 10:41:17 -04:00
richard-dds
25bedb816d Auth create_environment 2019-09-09 10:41:17 -04:00