Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v3.1.3 sprint 78 #473

Merged
merged 3 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions docs/Sprint-Review/sprint-78-summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Sprint 78 Summary
07/19/23 - 08/01/23

Velocity: Dev (16)

## Sprint Goal
* Continue parsing engine development for TANF Section 1 and Section 2, complete decoupling backend application spike and continue integration test epic (310).
* UX errors template, follow-on research, onboarding and maintenance page copy
* DevOps to resolve utility images for CircleCI and container registry and close out path filtering for CI builds



## Tickets
### Completed/Merged
* [#2618 Down for maintenance page](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2618)
* [#2598 HHS Staging Deployment Failure](https://app.zenhub.com/workspaces/product-board-5f2c6cdc7c0bb1001bdc43a5/issues/gh/raft-tech/tanf-app/2598)
* [#332 Process encrypted files TANF (01)](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/332)
* [#2486 Parser Performance](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2486)


### Ready to Merge
* N/A

### Submitted (QASP Review, OCIO Review)
* [#2369 As tech lead, we need the parsing engine to run quailty checks across TANF section 1](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2369)

### Closed (not merged)
* N/A

## Moved to Next Sprint (Blocked, Raft Review, In Progress, Current Sprint Backlog)
### In Progress
* [#1613 As a developer, I need parsed file meta data (TANF Section 1)](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/board)
* [#2116 Container Registry Creation](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2116)
* [#2282 As tech lead, I want a file upload integration test](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2282)
* [#1109 TANF (02) Parsing and Validation](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/1109)
* [#2429 Singular ClamAV scanner](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/2429)
* [#1612 Detailed case level metadata](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/1612)

### Blocked
* [#1784 - Email Relay](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/1784)


### Raft Review
* [#1610 As a user, I need information about the acceptance of my data and a link for the error report](https://app.zenhub.com/workspaces/sprint-board-5f18ab06dfd91c000f7e682e/issues/gh/raft-tech/tanf-app/1610)

### Unplanned work
* UX:
* Static down for maintenance copy and banner rework
6 changes: 6 additions & 0 deletions tdrs-backend/tdpservice/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,3 +388,9 @@ def test_private_key():
# Register factories with pytest-factoryboy for automatic dependency injection
# of model-related fixtures into tests.
register(OwaspZapScanFactory)


@pytest.fixture(autouse=True)
def change_test_dir(monkeypatch, tmp_path):
"""Change the working directory to a temporary directory for all tests."""
monkeypatch.chdir(tmp_path)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 3.2.15 on 2023-06-15 18:28
# Generated by Django 3.2.15 on 2023-07-26 14:48

from django.db import migrations, models

Expand All @@ -10,6 +10,11 @@ class Migration(migrations.Migration):
]

operations = [
migrations.AlterField(
model_name='parsererror',
name='column_number',
field=models.CharField(max_length=8, null=True),
),
migrations.AlterField(
model_name='parsererror',
name='item_number',
Expand Down
2 changes: 1 addition & 1 deletion tdrs-backend/tdpservice/parsers/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class Meta:
null=True,
)
row_number = models.IntegerField(null=False)
column_number = models.IntegerField(null=True)
column_number = models.CharField(null=True, max_length=8)
item_number = models.CharField(null=True, max_length=8)
field_name = models.TextField(null=True, max_length=128)
rpt_month_year = models.IntegerField(null=True, blank=False)
Expand Down
4 changes: 2 additions & 2 deletions tdrs-backend/tdpservice/parsers/parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,8 +242,8 @@ def get_schema_manager_options(program_type):
'T3': schema_defs.tanf.t3,
},
'C': {
# 'T4': schema_options.t4,
# 'T5': schema_options.t5,
'T4': schema_defs.tanf.t4,
'T5': schema_defs.tanf.t5,
},
'G': {
# 'T6': schema_options.t6,
Expand Down
86 changes: 44 additions & 42 deletions tdrs-backend/tdpservice/parsers/schema_defs/ssp/m1.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,89 +16,91 @@
],
postparsing_validators=[],
fields=[
Field(item=1, name='RecordType', type='string', startIndex=0, endIndex=2,
Field(item="0", name='RecordType', type='string', startIndex=0, endIndex=2,
required=True, validators=[]),
Field(item=2, name='RPT_MONTH_YEAR', type='number', startIndex=2, endIndex=8,
Field(item="3", name='RPT_MONTH_YEAR', type='number', startIndex=2, endIndex=8,
required=True, validators=[]),
Field(item=3, name='CASE_NUMBER', type='string', startIndex=8, endIndex=19,
Field(item="5", name='CASE_NUMBER', type='string', startIndex=8, endIndex=19,
required=True, validators=[]),
Field(item=4, name='COUNTY_FIPS_CODE', type='string', startIndex=19, endIndex=22,
Field(item="2", name='COUNTY_FIPS_CODE', type='string', startIndex=19, endIndex=22,
required=True, validators=[]),
Field(item=5, name='STRATUM', type='number', startIndex=22, endIndex=24,
Field(item="4", name='STRATUM', type='number', startIndex=22, endIndex=24,
required=True, validators=[]),
Field(item=6, name='ZIP_CODE', type='string', startIndex=24, endIndex=29,
Field(item="6", name='ZIP_CODE', type='string', startIndex=24, endIndex=29,
required=True, validators=[]),
Field(item=7, name='DISPOSITION', type='number', startIndex=29, endIndex=30,
Field(item="7", name='DISPOSITION', type='number', startIndex=29, endIndex=30,
required=True, validators=[]),
Field(item=8, name='NBR_FAMILY_MEMBERS', type='number', startIndex=30, endIndex=32,
Field(item="8", name='NBR_FAMILY_MEMBERS', type='number', startIndex=30, endIndex=32,
required=True, validators=[]),
Field(item=10, name='TANF_ASST_IN_6MONTHS', type='number', startIndex=33, endIndex=34,
Field(item="9", name='FAMILY_TYPE', type='number', startIndex=32, endIndex=33,
required=True, validators=[]),
Field(item=11, name='RECEIVES_SUB_HOUSING', type='number', startIndex=34, endIndex=35,
Field(item="10", name='TANF_ASST_IN_6MONTHS', type='number', startIndex=33, endIndex=34,
required=True, validators=[]),
Field(item=12, name='RECEIVES_MED_ASSISTANCE', type='number', startIndex=35, endIndex=36,
Field(item="11", name='RECEIVES_SUB_HOUSING', type='number', startIndex=34, endIndex=35,
required=True, validators=[]),
Field(item=13, name='RECEIVES_FOOD_STAMPS', type='number', startIndex=36, endIndex=37,
Field(item="12", name='RECEIVES_MED_ASSISTANCE', type='number', startIndex=35, endIndex=36,
required=True, validators=[]),
Field(item=14, name='AMT_FOOD_STAMP_ASSISTANCE', type='number', startIndex=37, endIndex=41,
Field(item="13", name='RECEIVES_FOOD_STAMPS', type='number', startIndex=36, endIndex=37,
required=True, validators=[]),
Field(item=15, name='RECEIVES_SUB_CC', type='number', startIndex=41, endIndex=42,
Field(item="14", name='AMT_FOOD_STAMP_ASSISTANCE', type='number', startIndex=37, endIndex=41,
required=True, validators=[]),
Field(item=16, name='AMT_SUB_CC', type='number', startIndex=42, endIndex=46,
Field(item="15", name='RECEIVES_SUB_CC', type='number', startIndex=41, endIndex=42,
required=True, validators=[]),
Field(item=17, name='CHILD_SUPPORT_AMT', type='number', startIndex=46, endIndex=50,
Field(item="16", name='AMT_SUB_CC', type='number', startIndex=42, endIndex=46,
required=True, validators=[]),
Field(item=18, name='FAMILY_CASH_RESOURCES', type='number', startIndex=50, endIndex=54,
Field(item="17", name='CHILD_SUPPORT_AMT', type='number', startIndex=46, endIndex=50,
required=True, validators=[]),
Field(item=19, name='CASH_AMOUNT', type='number', startIndex=54, endIndex=58,
Field(item="18", name='FAMILY_CASH_RESOURCES', type='number', startIndex=50, endIndex=54,
required=True, validators=[]),
Field(item=20, name='NBR_MONTHS', type='number', startIndex=58, endIndex=61,
Field(item="19A", name='CASH_AMOUNT', type='number', startIndex=54, endIndex=58,
required=True, validators=[]),
Field(item=21, name='CC_AMOUNT', type='number', startIndex=61, endIndex=65,
Field(item="19B", name='NBR_MONTHS', type='number', startIndex=58, endIndex=61,
required=True, validators=[]),
Field(item=22, name='CHILDREN_COVERED', type='number', startIndex=65, endIndex=67,
Field(item="20A", name='CC_AMOUNT', type='number', startIndex=61, endIndex=65,
required=True, validators=[]),
Field(item=23, name='CC_NBR_MONTHS', type='number', startIndex=67, endIndex=70,
Field(item="20B", name='CHILDREN_COVERED', type='number', startIndex=65, endIndex=67,
required=True, validators=[]),
Field(item=24, name='TRANSP_AMOUNT', type='number', startIndex=70, endIndex=74,
Field(item="20C", name='CC_NBR_MONTHS', type='number', startIndex=67, endIndex=70,
required=True, validators=[]),
Field(item=25, name='TRANSP_NBR_MONTHS', type='number', startIndex=74, endIndex=77,
Field(item="21A", name='TRANSP_AMOUNT', type='number', startIndex=70, endIndex=74,
required=True, validators=[]),
Field(item=26, name='TRANSITION_SERVICES_AMOUNT', type='number', startIndex=77, endIndex=81,
Field(item="21B", name='TRANSP_NBR_MONTHS', type='number', startIndex=74, endIndex=77,
required=True, validators=[]),
Field(item=27, name='TRANSITION_NBR_MONTHS', type='number', startIndex=81, endIndex=84,
Field(item="22A", name='TRANSITION_SERVICES_AMOUNT', type='number', startIndex=77, endIndex=81,
required=True, validators=[]),
Field(item=28, name='OTHER_AMOUNT', type='number', startIndex=84, endIndex=88,
Field(item="22B", name='TRANSITION_NBR_MONTHS', type='number', startIndex=81, endIndex=84,
required=True, validators=[]),
Field(item=29, name='OTHER_NBR_MONTHS', type='number', startIndex=88, endIndex=91,
Field(item="23A", name='OTHER_AMOUNT', type='number', startIndex=84, endIndex=88,
required=True, validators=[]),
Field(item=30, name='SANC_REDUCTION_AMT', type='number', startIndex=91, endIndex=95,
Field(item="23B", name='OTHER_NBR_MONTHS', type='number', startIndex=88, endIndex=91,
required=True, validators=[]),
Field(item=31, name='WORK_REQ_SANCTION', type='number', startIndex=95, endIndex=96,
Field(item="24AI", name='SANC_REDUCTION_AMT', type='number', startIndex=91, endIndex=95,
required=True, validators=[]),
Field(item=32, name='FAMILY_SANC_ADULT', type='number', startIndex=96, endIndex=97,
Field(item="24AII", name='WORK_REQ_SANCTION', type='number', startIndex=95, endIndex=96,
required=True, validators=[]),
Field(item=33, name='SANC_TEEN_PARENT', type='number', startIndex=97, endIndex=98,
Field(item="24AIII", name='FAMILY_SANC_ADULT', type='number', startIndex=96, endIndex=97,
required=True, validators=[]),
Field(item=34, name='NON_COOPERATION_CSE', type='number', startIndex=98, endIndex=99,
Field(item="24AIV", name='SANC_TEEN_PARENT', type='number', startIndex=97, endIndex=98,
required=True, validators=[]),
Field(item=35, name='FAILURE_TO_COMPLY', type='number', startIndex=99, endIndex=100,
Field(item="24AV", name='NON_COOPERATION_CSE', type='number', startIndex=98, endIndex=99,
required=True, validators=[]),
Field(item=36, name='OTHER_SANCTION', type='number', startIndex=100, endIndex=101,
Field(item="24AVI", name='FAILURE_TO_COMPLY', type='number', startIndex=99, endIndex=100,
required=True, validators=[]),
Field(item=37, name='RECOUPMENT_PRIOR_OVRPMT', type='number', startIndex=101, endIndex=105,
Field(item="24AVII", name='OTHER_SANCTION', type='number', startIndex=100, endIndex=101,
required=True, validators=[]),
Field(item=38, name='OTHER_TOTAL_REDUCTIONS', type='number', startIndex=105, endIndex=109,
Field(item="24B", name='RECOUPMENT_PRIOR_OVRPMT', type='number', startIndex=101, endIndex=105,
required=True, validators=[]),
Field(item=39, name='FAMILY_CAP', type='number', startIndex=109, endIndex=110,
Field(item="24CI", name='OTHER_TOTAL_REDUCTIONS', type='number', startIndex=105, endIndex=109,
required=True, validators=[]),
Field(item=40, name='REDUCTIONS_ON_RECEIPTS', type='number', startIndex=110, endIndex=111,
Field(item="24CII", name='FAMILY_CAP', type='number', startIndex=109, endIndex=110,
required=True, validators=[]),
Field(item=41, name='OTHER_NON_SANCTION', type='number', startIndex=111, endIndex=112,
Field(item="24CIII", name='REDUCTIONS_ON_RECEIPTS', type='number', startIndex=110, endIndex=111,
required=True, validators=[]),
Field(item=42, name='WAIVER_EVAL_CONTROL_GRPS', type='number', startIndex=112, endIndex=113,
Field(item="24CIV", name='OTHER_NON_SANCTION', type='number', startIndex=111, endIndex=112,
required=True, validators=[]),
Field(item=43, name='BLANK', type='string', startIndex=113, endIndex=150,
Field(item="25", name='WAIVER_EVAL_CONTROL_GRPS', type='number', startIndex=112, endIndex=113,
required=True, validators=[]),
Field(item="-1", name='BLANK', type='string', startIndex=113, endIndex=150,
required=False, validators=[]),
]
)
Expand Down
Loading