def test_get_enum_as_dict(self): class EnumClass1(object): KEY1 = 0 KEY_TWO_TWO = 1 SOME_KEY_SOME_SOME = 2 result1 = get_enum_as_dict(EnumClass1, friendly_names=False) result2 = get_enum_as_dict(EnumClass1, friendly_names=True) result1_reversed = get_enum_as_dict(EnumClass1, reverse=True, friendly_names=False) expected1 = { 'KEY1': 0, 'KEY_TWO_TWO': 1, 'SOME_KEY_SOME_SOME': 2 } expected2 = { 'Key1': 0, 'Key Two Two': 1, 'Some Key Some Some': 2 } expected3 = { 0: 'KEY1', 1: 'KEY_TWO_TWO', 2: 'SOME_KEY_SOME_SOME' } self.assertDictEqual(result1, expected1) self.assertDictEqual(result2, expected2) self.assertDictEqual(result1_reversed, expected3)
def take_action(self, parsed_args): client = get_client(parsed_args) available_algorithms = get_enum_as_dict(Algorithm, True) algorithms = client.list_supported_algorithms() result = [] for algorithm, id in available_algorithms.items(): if id in algorithms: result.append(AlgorithmModel({'id': id, 'algorithm': algorithm})) collection = Collection(result) return collection.generate_output()
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. __all__ = [ 'Balancer', 'Member', 'Algorithm' ] from libcloud.loadbalancer.types import State from raxcli.utils import get_enum_as_dict from raxcli.models import Attribute, Model STATES = get_enum_as_dict(State, reverse=True) def state_to_string(value): return STATES[value] class Balancer(Model): id = Attribute() name = Attribute() state = Attribute(transform_func=state_to_string) ip = Attribute() port = Attribute() class Member(Model):