Skip to content

Commit 85c7906

Browse files
authored
Merge pull request #2904 from uw-it-aca/qa
Qa
2 parents b28f572 + 58db326 commit 85c7906

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+484
-230
lines changed

.github/workflows/cicd.yml

+18-18
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ jobs:
6868

6969
steps:
7070
- name: Checkout Repo
71-
uses: actions/checkout@v2
71+
uses: actions/checkout@v3
7272

7373
- name: Set up Python
74-
uses: actions/setup-python@v2
74+
uses: actions/setup-python@v4
7575
with:
7676
python-version: 3.8
7777

@@ -82,10 +82,10 @@ jobs:
8282
exclude_paths: 'migrations'
8383

8484
- name: Set up Docker Buildx
85-
uses: docker/setup-buildx-action@v1
85+
uses: docker/setup-buildx-action@v2
8686

8787
- name: Cache Docker layers
88-
uses: actions/cache@v2
88+
uses: actions/cache@v3
8989
with:
9090
path: /tmp/.buildx-cache
9191
key: ${{ runner.os }}-buildx-$(echo ${{ hashFiles('Dockerfile') }} | head -c 16)
@@ -101,7 +101,7 @@ jobs:
101101
run: echo "VUE_DEVTOOLS=True" >> $GITHUB_ENV
102102

103103
- name: Build App Image
104-
uses: docker/build-push-action@v2
104+
uses: docker/build-push-action@v3
105105
with:
106106
target: app-container
107107
tags: ${{ needs.context.outputs.image_tag }}
@@ -112,7 +112,7 @@ jobs:
112112
cache-to: type=local,dest=/tmp/.buildx-cache
113113

114114
- name: Build Test Image
115-
uses: docker/build-push-action@v2
115+
uses: docker/build-push-action@v3
116116
with:
117117
target: app-test-container
118118
tags: app-test-container
@@ -141,7 +141,7 @@ jobs:
141141
image_tag: ${{ needs.context.outputs.image_tag }}
142142
gcp_json_key: ${{ secrets.GCP_JSON_KEY }}
143143

144-
- uses: actions/upload-artifact@v2
144+
- uses: actions/upload-artifact@v3
145145
with:
146146
name: python-coverage
147147
path: .coverage.*
@@ -157,9 +157,9 @@ jobs:
157157

158158
steps:
159159
- name: Checkout Repo
160-
uses: actions/checkout@v2
160+
uses: actions/checkout@v3
161161

162-
- uses: actions/cache@v2
162+
- uses: actions/cache@v3
163163
with:
164164
path: ~/.npm
165165
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -180,9 +180,9 @@ jobs:
180180

181181
steps:
182182
- name: Checkout Repo
183-
uses: actions/checkout@v2
183+
uses: actions/checkout@v3
184184

185-
- uses: actions/cache@v2
185+
- uses: actions/cache@v3
186186
with:
187187
path: ~/.npm
188188
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -211,7 +211,7 @@ jobs:
211211
apt install lcov -y
212212
lcov -a lcov-jest.info -a coverage/lcov.info -o lcov.info
213213
214-
- uses: actions/upload-artifact@v2
214+
- uses: actions/upload-artifact@v3
215215
with:
216216
name: jest-cypress-coverage
217217
path: lcov.info
@@ -222,18 +222,18 @@ jobs:
222222

223223
steps:
224224
- name: Checkout Repo
225-
uses: actions/checkout@v2
225+
uses: actions/checkout@v3
226226

227-
- uses: actions/download-artifact@v2
227+
- uses: actions/download-artifact@v3
228228
with:
229229
name: python-coverage
230230

231-
- uses: actions/download-artifact@v2
231+
- uses: actions/download-artifact@v3
232232
with:
233233
name: jest-cypress-coverage
234234

235235
- name: Set up Python
236-
uses: actions/setup-python@v2
236+
uses: actions/setup-python@v4
237237
with:
238238
python-version: 3.8
239239

@@ -265,7 +265,7 @@ jobs:
265265

266266
steps:
267267
- name: Checkout Repo
268-
uses: actions/checkout@v2
268+
uses: actions/checkout@v3
269269

270270
- name: Deployment Pipeline
271271
if: >-
@@ -301,7 +301,7 @@ jobs:
301301
- name: 'Surface context from executed build step'
302302
id: context
303303
shell: bash
304-
run: echo "::set-output name=context::$(< ${CONTEXT_FILENAME})"
304+
run: echo "context=$(< ${CONTEXT_FILENAME})" >> $GITHUB_OUTPUT
305305

306306
housekeeping:
307307
if: github.event_name == 'push' &&

docker/prod-values.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ environmentVariables:
187187
- name: BOOKSTORE_ENV
188188
value: PROD
189189
- name: BOOK_POOL_SIZE
190-
value: "20"
190+
value: "25"
191191
- name: BOOK_TIMEOUT
192192
value: "15"
193193

@@ -215,7 +215,7 @@ environmentVariables:
215215
- name: GRAD_ENV
216216
value: PROD
217217
- name: GRAD_POOL_SIZE
218-
value: "10"
218+
value: "15"
219219
- name: GRAD_TIMEOUT
220220
value: "10"
221221

@@ -238,14 +238,14 @@ environmentVariables:
238238
- name: HFS_TIMEOUT
239239
value: "5"
240240
- name: HFS_POOL_SIZE
241-
value: "20"
241+
value: "30"
242242

243243
- name: IASYSTEM_UW_ENV
244244
value: PROD
245245
- name: IASYSTEM_UW_TIMEOUT
246246
value: "10"
247247
- name: IASYSTEM_UW_POOL_SIZE
248-
value: "15"
248+
value: "20"
249249

250250
- name: IASYSTEM_UWB_ENV
251251
value: PROD
@@ -285,7 +285,7 @@ environmentVariables:
285285
- name: LIBRARIES_ENV
286286
value: PROD
287287
- name: LIBRARIES_POOL_SIZE
288-
value: "20"
288+
value: "30"
289289
- name: LIBRARIES_TIMEOUT
290290
value: "7"
291291

@@ -303,7 +303,7 @@ environmentVariables:
303303
- name: MYPLAN_TIMEOUT
304304
value: "10"
305305
- name: MYPLAN_POOL_SIZE
306-
value: "20"
306+
value: "30"
307307

308308
- name: PWS_ENV
309309
value: PROD
@@ -315,9 +315,9 @@ environmentVariables:
315315
- name: SDBMYUW_ENV
316316
value: PROD
317317
- name: SDBMYUW_POOL_SIZE
318-
value: "15"
318+
value: "20"
319319
- name: SDBMYUW_TIMEOUT
320-
value: "10"
320+
value: "15"
321321

322322
- name: SWS_ENV
323323
value: PROD
@@ -339,7 +339,7 @@ environmentVariables:
339339
- name: UWNETID_ENV
340340
value: PROD
341341
- name: UWNETID_POOL_SIZE
342-
value: "20"
342+
value: "30"
343343
- name: UWNETID_TIMEOUT
344344
value: "10"
345345

docker/test-values.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ environmentVariables:
232232
value: EVAL
233233

234234
- name: UPASS_ENV
235-
value: EVAL
235+
value: PROD
236236
- name: UPASS_POOL_SIZE
237237
value: "5"
238238
- name: UPASS_TIMEOUT

myuw/dao/degree.py

+13-8
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
from myuw.dao import is_using_file_dao, get_netid_of_current_user
1111
from myuw.dao.pws import get_regid_of_current_user
1212
from myuw.dao.term import (
13-
last_4w_inst, during_april_may, is_cur_term_before, is_cur_term_same)
14-
from myuw.dao.term import more_than_2terms_before as before_display_window
13+
last_4instruction_weeks, during_april_may,
14+
is_cur_term_before, is_cur_term_same,
15+
within_2terms_after_given_term)
1516

1617

1718
def get_degrees(request):
@@ -38,18 +39,22 @@ def get_degrees_json(request):
3839
try:
3940
degrees = []
4041
for degree in get_degrees(request):
41-
if degree.is_granted():
42-
# Exclude if the degree earned term is older
43-
if before_display_window(request, degree.year, degree.quarter):
44-
continue
4542
json_data = degree.json_data()
46-
during_april_may, is_cur_term_before, is_cur_term_same
4743
json_data["is_degree_earned_term"] = is_cur_term_same(
4844
request, degree.year, degree.quarter)
4945
json_data["before_degree_earned_term"] = is_cur_term_before(
5046
request, degree.year, degree.quarter)
5147
json_data["during_april_may"] = during_april_may(request)
52-
json_data["last_4w_inst"] = last_4w_inst(request)
48+
if degree.has_applied():
49+
json_data["last_4_inst_weeks_in_degree_term"] = (
50+
last_4instruction_weeks(
51+
request, degree.year, degree.quarter)
52+
) # MUWM-5195
53+
if degree.is_granted():
54+
json_data["within_2terms_after_granted"] = (
55+
within_2terms_after_given_term(
56+
request, degree.year, degree.quarter)
57+
) # MUWM-5195
5358
degrees.append(json_data)
5459
response['degrees'] = degrees
5560
except DataFailureException as ex:

myuw/dao/term.py

+16-11
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
from uw_sws import SWS_TIMEZONE, sws_now
1212
from uw_sws.util import convert_to_begin_of_day, convert_to_end_of_day
1313
from uw_sws.section import is_a_term, is_b_term, is_full_summer_term
14-
from uw_sws.term import get_term_by_date, get_specific_term, \
15-
get_current_term, get_next_term, get_previous_term, \
16-
get_term_before, get_term_after, get_next_autumn_term, \
17-
get_next_non_summer_term
14+
from uw_sws.term import (
15+
get_term_by_date, get_specific_term, get_current_term,
16+
get_term_before, get_term_after, get_next_autumn_term,
17+
get_next_non_summer_term)
1818
from restclients_core.exceptions import DataFailureException
1919
from myuw.dao import is_using_file_dao
2020

@@ -139,24 +139,29 @@ def is_cur_term_same(request, year, quarter):
139139
return current_term == comparison_term
140140

141141

142-
def more_than_2terms_before(request, year, quarter):
142+
def within_2terms_after_given_term(request, year, quarter):
143143
"""
144144
return True if year+quarter is more than 2 terms before current term
145145
"""
146-
comparison_term = get_specific_term(year, quarter)
147146
current_term = get_current_quarter(request)
148-
prev_term = get_term_before(current_term)
149-
pprev_term = get_term_before(prev_term)
150-
return comparison_term < pprev_term
147+
comparison_term = get_specific_term(year, quarter)
148+
next_term = get_term_after(comparison_term)
149+
nnext_term = get_term_after(next_term)
150+
return (current_term == comparison_term or
151+
current_term == next_term or
152+
current_term == nnext_term)
151153

152154

153-
def last_4w_inst(request):
155+
def last_4instruction_weeks(request, year, quarter):
154156
"""
155157
return True if it is four weeks prior last day class of the term
156158
"""
159+
current_term = get_current_quarter(request)
160+
comparison_term = get_specific_term(year, quarter)
157161
comparison_dt = get_comparison_datetime(request)
158162
starting_point = get_bod_days_before_last_instruction(request, 28)
159-
return comparison_dt > starting_point
163+
return (
164+
current_term == comparison_term and comparison_dt > starting_point)
160165

161166

162167
def get_term_from_quarter_string(quarter_string):

myuw/dao/textbook.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77

88
from uw_bookstore import Bookstore
99

10+
bookstore = Bookstore()
11+
1012

1113
def get_textbook_by_schedule(schedule):
1214
"""
1315
returns textbooks for a valid schedule
1416
"""
15-
return Bookstore().get_books_for_schedule(schedule)
17+
return bookstore.get_books_for_schedule(schedule)
1618

1719

1820
def get_order_url_by_schedule(schedule):
1921
"""
2022
returns a link to the bookstore ordering page for a given schedule
2123
"""
22-
return Bookstore().get_url_for_schedule(schedule)
24+
return bookstore.get_url_for_schedule(schedule)

myuw/dao/upass.py

+5-22
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
from uw_upass import get_upass_status
1010
from myuw.dao import get_netid_of_current_user
1111
from myuw.dao.gws import is_student
12-
from myuw.dao.term import Term, get_comparison_datetime,\
13-
get_current_quarter, get_next_quarter
12+
from myuw.dao.term import (
13+
Term, get_comparison_datetime, get_current_quarter,
14+
get_bod_days_before_last_instruction)
1415

1516

1617
def _get_upass_status(request):
@@ -23,29 +24,11 @@ def get_upass(request):
2324
"""
2425
status = _get_upass_status(request)
2526
ret_json = status.json_data()
26-
27-
if status.is_current:
28-
ret_json['display_activation'] = (status.is_employee or
29-
around_qtr_begin(request))
30-
if status.is_student or is_student(request):
27+
if is_student(request):
3128
ret_json['in_summer'] = in_summer_display_window(request)
32-
3329
return ret_json
3430

3531

36-
def around_qtr_begin(request):
37-
"""
38-
Between 7 days before the 1st day of class to 14 days after it
39-
"""
40-
now = get_comparison_datetime(request)
41-
term = get_current_quarter(request)
42-
if now > term.get_eod_last_instruction():
43-
term = get_next_quarter(request)
44-
start = term.get_bod_first_day() - timedelta(days=7)
45-
end = term.get_bod_first_day() + timedelta(days=15)
46-
return (now > start and now < end)
47-
48-
4932
def in_summer_display_window(request):
5033
"""
5134
Between the last day of class in spring quarter
@@ -55,7 +38,7 @@ def in_summer_display_window(request):
5538
now = get_comparison_datetime(request)
5639
cur_term = get_current_quarter(request)
5740
if cur_term.quarter.lower() == Term.SPRING:
58-
return now > (cur_term.get_eod_last_instruction() - timedelta(days=1))
41+
return now > get_bod_days_before_last_instruction(request, 1)
5942
if cur_term.is_summer_quarter():
6043
return True
6144
if cur_term.quarter.lower() == Term.AUTUMN:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"21838": []
3+
}

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_bill

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_billbot

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_billpce

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_billsea

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_billseata

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_billtac

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_botgrad

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_eight

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_faculty

-1
This file was deleted.

myuw/resources/upass/file/MyUWUpass/MyUWUpass.aspx_id_javg001

-1
This file was deleted.

0 commit comments

Comments
 (0)