Skip to content

Commit

Permalink
[ggj] fix: treat version-less APIs as GAs (#648)
Browse files Browse the repository at this point in the history
* fix: fix dep ordering in Bazel dedupe rules

* fix: treat version-less APIs as GAs
  • Loading branch information
miraleung authored Feb 1, 2021
1 parent 7a22323 commit 650feee
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ public static boolean isGaApi(String pakkage) {
break;
}
}
Preconditions.checkState(isFound, "No version component found in package %s", pakkage);
if (!isFound) {
// No version component is present (applies to APIs like LRO), so treat this as a GA version.
return true;
}
String versionSubstr = versionComponent.replace(matcher.group(), "");
return Strings.isNullOrEmpty(versionSubstr)
|| (!versionSubstr.contains("alpha") && !versionSubstr.contains("beta"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,25 @@

import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertThrows;

import org.junit.Test;

public class PackageCheckerTest {
@Test
public void isGaApi_normalExpectedPackageStructure() {
public void isGaApi_gaVersionPresent() {
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v1.services"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.v1.foobar.services"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v1"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v999"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v12345a"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v999asdf"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc.v1main"));
assertTrue(PackageChecker.isGaApi("com.google.cloud.dataproc"));
assertTrue(PackageChecker.isGaApi("com.google.longrunning"));
}

@Test
public void isGaApi_alphaBetaVersionPresent() {
assertFalse(PackageChecker.isGaApi("com.google.cloud.dataproc.v1beta1"));
assertFalse(PackageChecker.isGaApi("com.google.cloud.dataproc.v1alpha1"));
assertFalse(PackageChecker.isGaApi("com.google.cloud.dataproc.v1beta"));
Expand All @@ -37,12 +43,4 @@ public void isGaApi_normalExpectedPackageStructure() {
assertFalse(PackageChecker.isGaApi("com.google.cloud.dataproc.v1p4beta"));
assertFalse(PackageChecker.isGaApi("com.google.cloud.asset.v1beta1"));
}

@Test
public void isGaApi_invalidPackageStructure() {
assertThrows(
IllegalStateException.class,
() -> PackageChecker.isGaApi("com.google.cloud.dataproc.foo.bar"));
assertThrows(IllegalStateException.class, () -> PackageChecker.isGaApi(""));
}
}

0 comments on commit 650feee

Please sign in to comment.