Skip to content

Commit bef3ac2

Browse files
authored
Follow up work on SchemaDiff to makes it DEPRECATION added or removed (graphql-java#1736)
1 parent 952f075 commit bef3ac2

3 files changed

Lines changed: 13 additions & 9 deletions

File tree

src/main/java/graphql/schema/diff/DiffCategory.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ public enum DiffCategory {
2828
*/
2929
DIFFERENT,
3030
/**
31-
* The new API has deprecated something or removed something deprecated from the old API
31+
* The new API has newly deprecated something
3232
*/
33-
DEPRECATED
33+
DEPRECATION_ADDED,
34+
/**
35+
* The new API has removed something previously deprecated in the old API
36+
*/
37+
DEPRECATION_REMOVED,
3438
}

src/main/java/graphql/schema/diff/SchemaDiff.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ private void checkInputFields(DiffCtx ctx, TypeDefinition old, List<InputValueDe
378378
DiffCategory category;
379379
String message;
380380
if (isDeprecated(oldField)) {
381-
category = DiffCategory.DEPRECATED;
381+
category = DiffCategory.DEPRECATION_REMOVED;
382382
message = "The new API has removed a deprecated field '%s'";
383383
} else {
384384
category = DiffCategory.MISSING;
@@ -444,7 +444,7 @@ private void checkEnumType(DiffCtx ctx, EnumTypeDefinition oldDef, EnumTypeDefin
444444
DiffCategory category;
445445
String message;
446446
if (isDeprecated(oldEnum)) {
447-
category = DiffCategory.DEPRECATED;
447+
category = DiffCategory.DEPRECATION_REMOVED;
448448
message = "The new API has removed a deprecated enum value '%s'";
449449
} else {
450450
category = DiffCategory.MISSING;
@@ -474,7 +474,7 @@ private void checkEnumType(DiffCtx ctx, EnumTypeDefinition oldDef, EnumTypeDefin
474474
.build());
475475
} else if (isDeprecated(newDefinitionMap.get(enumName))) {
476476
ctx.report(DiffEvent.apiDanger()
477-
.category(DiffCategory.DEPRECATED)
477+
.category(DiffCategory.DEPRECATION_ADDED)
478478
.typeName(oldDef.getName())
479479
.typeKind(getTypeKind(oldDef))
480480
.components(enumName)
@@ -546,7 +546,7 @@ private void checkFieldRemovals(
546546
DiffCategory category;
547547
String message;
548548
if (isDeprecated(entry.getValue())) {
549-
category = DiffCategory.DEPRECATED;
549+
category = DiffCategory.DEPRECATION_REMOVED;
550550
message = "The new API has removed a deprecated field '%s'";
551551
} else {
552552
category = DiffCategory.MISSING;
@@ -592,7 +592,7 @@ private void checkFieldAdditions(
592592
.build());
593593
} else if (!isDeprecated(oldField) && isDeprecated(entry.getValue())) {
594594
ctx.report(DiffEvent.apiDanger()
595-
.category(DiffCategory.DEPRECATED)
595+
.category(DiffCategory.DEPRECATION_ADDED)
596596
.typeName(newDef.getName())
597597
.typeKind(getTypeKind(newDef))
598598
.fieldName(fieldName)

src/test/groovy/graphql/schema/diff/SchemaDiffTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ class SchemaDiffTest extends Specification {
489489
reporter.dangerCount == 13
490490
reporter.breakageCount == 0
491491
reporter.dangers.every {
492-
it.getCategory() == DiffCategory.DEPRECATED
492+
it.getCategory() == DiffCategory.DEPRECATION_ADDED
493493
}
494494

495495
}
@@ -507,7 +507,7 @@ class SchemaDiffTest extends Specification {
507507
reporter.dangerCount == 0
508508
reporter.breakageCount == 11
509509
reporter.breakages.every {
510-
it.getCategory() == DiffCategory.DEPRECATED
510+
it.getCategory() == DiffCategory.DEPRECATION_REMOVED
511511
}
512512
}
513513

0 commit comments

Comments
 (0)