Example #1
0
  def test_dict_by(self, xs):
    """dict_by should apply a function to each item in a set to generate the values
    of the returned dict.

    """
    m = u.dict_by(xs, len)

    # every value is properly constructed
    for k, v in m.items():
      self.assertEqual(len(k), v)

    # the key set of the dict is equal to the incoming original set.
    self.assertSetEqual(set(m.keys()), xs)
Example #2
0
 def test_flipm_empty_values(self, ks):
   """Flipping a dictionary with empty values always equals the empty map."""
   m = u.dict_by(ks, lambda k: {})
   self.assertDictEqual({}, u.flipm(m))
Example #3
0
def test_flipm_empty_values(ks):
    """Flipping a dictionary with empty values always equals the empty map."""
    m = u.dict_by(ks, lambda k: {})
    assert {} == u.flipm(m)
Example #4
0
    """Returns a function that prepends the supplied prefix and converts
  underscores to the dashes required by Cloud constants..

  """
    def inner(name: str) -> str:
        return "{}-{}".format(prefix, name.replace('_', '-'))

    return inner


US_REGIONS = {"west1", "west2", "central1", "east1", "east4"}
EURO_REGIONS = {"west1", "west4", "north1"}
ASIA_REGIONS = {"southeast1", "east1", "northeast1"}

# Actual enum types.
US = Enum('US', u.dict_by(US_REGIONS, _vfn("us")))
Europe = Enum('Europe', u.dict_by(EURO_REGIONS, _vfn("europe")))
Asia = Enum('Asia', u.dict_by(ASIA_REGIONS, _vfn("asia")))
Region = Union[US, Europe, Asia]
Zone = str


def valid_regions(zone: Optional[str] = None) -> List[Region]:
    """Returns valid region strings for Cloud, for the globe or for a particular
  region if specified.

  """
    if zone is None:
        return valid_regions("americas") \
          + valid_regions("europe") \
          + valid_regions("asia")
Example #5
0
}
ASIA_REGIONS = {
    "south1",
    "southeast1",
    "east1",
    "east2",
    "northeast1",
    "northeast2",
    "northeast3",
}
AUSTRALIA_REGIONS = {
    "southeast1",
}

# Actual enum types.
US = Enum('US', u.dict_by(US_REGIONS, _vfn("us")))
NorthAmerica = Enum('NorthAmerica', u.dict_by(NA_REGIONS, _vfn("northamerica")))
SouthAmerica = Enum('SouthAmerica', u.dict_by(SA_REGIONS, _vfn("southamerica")))
Europe = Enum('Europe', u.dict_by(EURO_REGIONS, _vfn("europe")))
Asia = Enum('Asia', u.dict_by(ASIA_REGIONS, _vfn("asia")))
Australia = Enum('Australia', u.dict_by(ASIA_REGIONS, _vfn("australia")))
Region = Union[US, NorthAmerica, SouthAmerica, Europe, Asia, Australia]
Zone = str


def valid_regions(zone: Optional[str] = None) -> List[Region]:
  """Returns valid region strings for Cloud, for the globe or for a particular
  region if specified.

  """
  if zone is None: