From 1d4421167dcb13ff020bb38affdca4009ff5dd0c Mon Sep 17 00:00:00 2001 From: Kenneth Myers Date: Fri, 26 Apr 2024 04:24:25 -0400 Subject: [PATCH] all tests passing --- model/pickledModels/latestModel.sav | Bin 0 -> 70860 bytes model/test_model.py | 2 +- model/test_modelUtils.py | 13 +++++++------ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 model/pickledModels/latestModel.sav diff --git a/model/pickledModels/latestModel.sav b/model/pickledModels/latestModel.sav new file mode 100644 index 0000000000000000000000000000000000000000..b3d8e3492701392fa4bea156df35d03db44f14ea GIT binary patch literal 70860 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 literal 0 HcmV?d00001 diff --git a/model/test_model.py b/model/test_model.py index 0450df0..16db2b4 100644 --- a/model/test_model.py +++ b/model/test_model.py @@ -83,7 +83,7 @@ def spark(): @pytest.fixture(scope='module') def model(): - testFile = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20230414-061009_LR.sav') + testFile = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20240426-075204_GBM.sav') return mu.loadModel(modelSaveLoc=testFile) diff --git a/model/test_modelUtils.py b/model/test_modelUtils.py index 4f24da3..3ffb75b 100644 --- a/model/test_modelUtils.py +++ b/model/test_modelUtils.py @@ -34,17 +34,18 @@ def test_getTarget(): @mock_s3 def test_getLatestModel(): s3 = boto3.client('s3', region_name='us-east-2') - file1 = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20230503-235329_GBM.sav') - file1Name = 'models/Reddit_model_20230503-235329_GBM.sav' - file2 = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20230414-061009_LR.sav') - file2Name = 'models/Reddit_model_20230414-061009_LR.sav' + file1 = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20240426-075204_GBM.sav') + file1Name = 'models/Reddit_model_20240426-075204_GBM.sav' + # did not regenerate LR model after upgrading to py 3.12.3 + # file2 = os.path.join(THIS_DIR, 'pickledModels/Reddit_model_20230414-061009_LR.sav') + # file2Name = 'models/Reddit_model_20230414-061009_LR.sav' bucketName = "test-bucket" # take this file and put it in the mock bucket s3.create_bucket(Bucket=bucketName, CreateBucketConfiguration={'LocationConstraint': 'us-east-2'}) with open(file1, "rb") as f: s3.upload_fileobj(f, bucketName, file1Name) - with open(file2, "rb") as f: - s3.upload_fileobj(f, bucketName, file2Name) + # with open(file2, "rb") as f: + # s3.upload_fileobj(f, bucketName, file2Name) from modelUtils import getLatestModel, getModel _, latestModelLoc = getLatestModel(bucketName=bucketName) assert latestModelLoc == file1Name # latest model