Skip to content

Commit c01b54b

Browse files
committed
Reference: #692
Remove null from string based fields Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent eed065c commit c01b54b

5 files changed

Lines changed: 46 additions & 10 deletions

File tree

vulnerabilities/importer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class AdvisoryData:
233233
"""
234234

235235
aliases: List[str] = dataclasses.field(default_factory=list)
236-
summary: Optional[str] = None
236+
summary: Optional[str] = ""
237237
affected_packages: List[AffectedPackage] = dataclasses.field(default_factory=list)
238238
references: List[Reference] = dataclasses.field(default_factory=list)
239239
date_published: Optional[datetime.datetime] = None

vulnerabilities/improver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Inference:
2929
vulnerability_id: str = None
3030
aliases: Optional[List[str]] = dataclasses.field(default_factory=list)
3131
confidence: int = MAX_CONFIDENCE
32-
summary: Optional[str] = None
32+
summary: Optional[str] = ""
3333
affected_purls: Optional[List[PackageURL]] = dataclasses.field(default_factory=list)
3434
fixed_purl: PackageURL = None
3535
references: List[Reference] = dataclasses.field(default_factory=list)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Generated by Django 4.0.3 on 2022-04-15 18:39
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('vulnerabilities', '0008_alter_vulnerabilityseverity_scoring_system'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='advisory',
15+
name='summary',
16+
field=models.TextField(blank=True),
17+
),
18+
migrations.AlterField(
19+
model_name='advisory',
20+
name='unique_content_id',
21+
field=models.CharField(blank=True, max_length=32),
22+
),
23+
migrations.AlterField(
24+
model_name='vulnerability',
25+
name='summary',
26+
field=models.TextField(blank=True, help_text='Summary of the vulnerability'),
27+
),
28+
migrations.AlterField(
29+
model_name='vulnerabilityreference',
30+
name='reference_id',
31+
field=models.CharField(blank=True, help_text='An optional reference ID, such as DSA-4465-1 when available', max_length=200),
32+
),
33+
]

vulnerabilities/models.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ class Vulnerability(models.Model):
5757

5858
summary = models.TextField(
5959
help_text="Summary of the vulnerability",
60-
null=True,
6160
blank=True,
6261
)
6362

@@ -104,7 +103,6 @@ class VulnerabilityReference(models.Model):
104103
max_length=200,
105104
help_text="An optional reference ID, such as DSA-4465-1 when available",
106105
blank=True,
107-
null=True,
108106
)
109107

110108
@property
@@ -324,9 +322,14 @@ class Advisory(models.Model):
324322
into structured data
325323
"""
326324

327-
unique_content_id = models.CharField(max_length=32, blank=True, null=True)
325+
unique_content_id = models.CharField(
326+
max_length=32,
327+
blank=True,
328+
)
328329
aliases = models.JSONField(blank=True, default=list, help_text="A list of alias strings")
329-
summary = models.TextField(blank=True, null=True)
330+
summary = models.TextField(
331+
blank=True,
332+
)
330333
# we use a JSON field here to avoid creating a complete relational model for data that
331334
# is never queried directly; instead it is only retrieved and processed as a whole by
332335
# an improver

vulnerabilities/tests/test_alpine.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def test_process_record(caplog):
4343
expected_advisories = [
4444
AdvisoryData(
4545
aliases=[],
46-
summary=None,
46+
summary="",
4747
affected_packages=[
4848
AffectedPackage(
4949
package=PackageURL(
@@ -149,7 +149,7 @@ def test_process_record(caplog):
149149
),
150150
AdvisoryData(
151151
aliases=["CVE-2018-7540"],
152-
summary=None,
152+
summary="",
153153
affected_packages=[
154154
AffectedPackage(
155155
package=PackageURL(
@@ -255,7 +255,7 @@ def test_process_record(caplog):
255255
),
256256
AdvisoryData(
257257
aliases=["CVE-2017-9669"],
258-
summary=None,
258+
summary="",
259259
affected_packages=[
260260
AffectedPackage(
261261
package=PackageURL(
@@ -355,7 +355,7 @@ def test_process_record(caplog):
355355
),
356356
AdvisoryData(
357357
aliases=["CVE-2017-9671"],
358-
summary=None,
358+
summary="",
359359
affected_packages=[
360360
AffectedPackage(
361361
package=PackageURL(

0 commit comments

Comments
 (0)