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

flip default value on upload_token_required_for_public_repos #864

Merged
merged 4 commits into from
Nov 14, 2024
Merged
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
4 changes: 3 additions & 1 deletion database/models/core.py
Original file line number Diff line number Diff line change
@@ -83,7 +83,9 @@ class Owner(CodecovBaseModel):
stripe_customer_id = Column(types.Text, server_default=FetchedValue())
stripe_subscription_id = Column(types.Text, server_default=FetchedValue())
onboarding_completed = Column(types.Boolean, default=False)
upload_token_required_for_public_repos = Column(types.Boolean, default=True)
upload_token_required_for_public_repos = Column(
types.Boolean, default=False, nullable=False
)

bot_id = Column(
"bot",
1 change: 1 addition & 0 deletions database/tests/factories/core.py
Original file line number Diff line number Diff line change
@@ -48,6 +48,7 @@ class Meta:
trial_end_date = datetime.now()
trial_status = enums.TrialStatus.NOT_STARTED.value
trial_fired_by = None
upload_token_required_for_public_repos = False

oauth_token = factory.LazyAttribute(
lambda o: encrypt_oauth_token(o.unencrypted_oauth_token)
48 changes: 48 additions & 0 deletions database/tests/unit/test_models.py
Original file line number Diff line number Diff line change
@@ -134,6 +134,54 @@ def test_updatestamp_update(self, dbsession):
assert factoried_pull.updatestamp > val


class TestOwnerModel(object):
def test_upload_token_required_for_public_repos(self, dbsession):
# Create an owner with upload_token_required_for_public_repos specified
tokens_required_owner = Owner(
name="Token Owner",
email="token_owner@example.com",
username="tokenuser",
upload_token_required_for_public_repos=True,
service="github",
service_id="abc",
)
dbsession.add(tokens_required_owner)
dbsession.commit()

# Refresh from the database to verify persistence
dbsession.refresh(tokens_required_owner)
assert tokens_required_owner.upload_token_required_for_public_repos is True

# Update other field, upload_token_required_for_public_repos is unchanged
assert tokens_required_owner.onboarding_completed is False
tokens_required_owner.onboarding_completed = True
dbsession.commit()
dbsession.refresh(tokens_required_owner)
assert tokens_required_owner.onboarding_completed is True
assert tokens_required_owner.upload_token_required_for_public_repos is True

# Create an owner without upload_token_required_for_public_repos specified
tokens_not_required_owner = Owner(
name="Tokenless Owner",
email="tokenless_owner@example.com",
username="tokenlessuser",
service="github",
service_id="defg",
)
dbsession.add(tokens_not_required_owner)
dbsession.commit()
dbsession.refresh(tokens_not_required_owner)
assert tokens_not_required_owner.upload_token_required_for_public_repos is False

# Update other field, upload_token_required_for_public_repos is unchanged
assert tokens_not_required_owner.onboarding_completed is False
tokens_not_required_owner.onboarding_completed = True
dbsession.commit()
dbsession.refresh(tokens_not_required_owner)
assert tokens_not_required_owner.onboarding_completed is True
assert tokens_not_required_owner.upload_token_required_for_public_repos is False


class TestReportDetailsModel(object):
sample_files_array = [
{
2 changes: 1 addition & 1 deletion requirements.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
https://github.com/codecov/test-results-parser/archive/94ff26cb083a02ff726dd2497c2129e4aaf5f7cd.tar.gz#egg=test-results-parser
https://github.com/codecov/shared/archive/9a2692a412a3be2553db066e0fcb5cec89860fb7.tar.gz#egg=shared
https://github.com/codecov/shared/archive/9c31870de026a8a3f026f0753b1991e8c832fadb.tar.gz#egg=shared
https://github.com/codecov/timestring/archive/d37ceacc5954dff3b5bd2f887936a98a668dda42.tar.gz#egg=timestring
asgiref>=3.7.2
analytics-python==1.3.0b1
15 changes: 4 additions & 11 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -3,9 +3,7 @@
amqp==5.2.0
# via kombu
analytics-python==1.3.0b1
# via
# -r requirements.in
# shared
# via -r requirements.in
annotated-types==0.6.0
# via pydantic
anyio==3.6.1
@@ -300,9 +298,7 @@ python-redis-lock==4.0.0
# -r requirements.in
# shared
pytz==2022.1
# via
# shared
# timestring
# via timestring
pyyaml==6.0.1
# via
# -r requirements.in
@@ -335,11 +331,11 @@ sentry-sdk==2.13.0
# via
# -r requirements.in
# shared
setuptools==75.4.0
setuptools==75.5.0
# via
# cerberus
# nodeenv
shared @ https://github.com/codecov/shared/archive/9a2692a412a3be2553db066e0fcb5cec89860fb7.tar.gz#egg=shared
shared @ https://github.com/codecov/shared/archive/9c31870de026a8a3f026f0753b1991e8c832fadb.tar.gz#egg=shared
# via -r requirements.in
six==1.16.0
# via
@@ -383,14 +379,11 @@ tlslite-ng==0.8.0b1
# via shared
tqdm==4.66.1
# via openai
typing==3.7.4.3
# via shared
typing-extensions==4.6.3
# via
# openai
# pydantic
# pydantic-core
# shared
# stripe
tzdata==2024.1
# via celery