googlecloud_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. *
  3. * Copyright 2021 gRPC authors.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. *
  17. */
  18. package googlecloud
  19. import (
  20. "testing"
  21. )
  22. func TestIsRunningOnGCE(t *testing.T) {
  23. for _, tc := range []struct {
  24. description string
  25. testOS string
  26. testManufacturer string
  27. out bool
  28. }{
  29. // Linux tests.
  30. {"linux: not a GCP platform", "linux", "not GCP", false},
  31. {"Linux: GCP platform (Google)", "linux", "Google", true},
  32. {"Linux: GCP platform (Google Compute Engine)", "linux", "Google Compute Engine", true},
  33. {"Linux: GCP platform (Google Compute Engine) with extra spaces", "linux", " Google Compute Engine ", true},
  34. // Windows tests.
  35. {"windows: not a GCP platform", "windows", "not GCP", false},
  36. {"windows: GCP platform (Google)", "windows", "Google", true},
  37. {"windows: GCP platform (Google) with extra spaces", "windows", " Google ", true},
  38. } {
  39. if got, want := isRunningOnGCE([]byte(tc.testManufacturer), tc.testOS), tc.out; got != want {
  40. t.Errorf("%v: isRunningOnGCE()=%v, want %v", tc.description, got, want)
  41. }
  42. }
  43. }