def test_instance(): instance = Instance("0.0.0.0") assert instance.ip == "0.0.0.0" assert instance.port == 22 instance = Instance("1.1.1.1", uid="i-123", port=2222, username="******", keypair="~/.ssh/key") assert instance.ip == "1.1.1.1" assert instance.uid == "i-123" assert instance.port == 2222 assert instance.username == "user" assert instance.keypair == "~/.ssh/key"
def test_from_filepath(request, tmpdir): import os testname = request.node.name tempdir = tmpdir.mkdir("rootdir") fpath = os.path.join(tempdir.strpath, "{}.yaml".format(testname)) cluster = Cluster("foo") username = "******" keypair = "~/.ssh/key" n = 5 for i in range(n): instance = Instance(uid="%i" % i, ip="{0}.{0}.{0}.{0}".format(i), username=username, keypair=keypair) cluster.append(instance) cluster.to_file(fpath) cluster2 = Cluster.from_filepath(fpath) assert len(cluster2.instances) == n assert len(cluster.instances) == len(cluster2.instances) for i, instance in enumerate(cluster2.instances): assert instance.uid == "%i" % i assert instance.ip == "{0}.{0}.{0}.{0}".format(i) assert instance.username == username assert instance.keypair == keypair
def test_append_instance(): cluster = Cluster("foo") n = 5 for i in range(n): instance = Instance(ip="%i" % i) cluster.append(instance) assert len(cluster.instances) == n assert cluster.head == cluster.instances[0]
def test_set_keypair(): cluster = Cluster("foo") n = 5 for i in range(n): instance = Instance(ip="%i" % i) cluster.append(instance) assert cluster.instances[i].keypair is None pkey = "ubuntu" cluster.set_keypair(pkey) for i in range(n): assert cluster.instances[i].keypair == pkey
def test_set_username(): cluster = Cluster("foo") n = 5 for i in range(n): instance = Instance(ip="%i" % i) cluster.append(instance) assert cluster.instances[i].username is None user = "******" cluster.set_username(user) for i in range(n): assert cluster.instances[i].username == user
def test_dict_serde(): instance = Instance("1.1.1.1", uid="i-123", port=2222, username="******", keypair="~/.ssh/key") data = instance.to_dict() instance2 = Instance.from_dict(data) assert instance2.ip == "1.1.1.1" assert instance2.uid == "i-123" assert instance2.port == 2222 assert instance2.username == "user" assert instance2.keypair == "~/.ssh/key"
def test_dict_serde(): cluster = Cluster("foo") username = "******" keypair = "~/.ssh/key" n = 5 for i in range(n): instance = Instance(uid="%i" % i, ip="{0}.{0}.{0}.{0}".format(i), username=username, keypair=keypair) cluster.append(instance) data = cluster.to_dict() cluster2 = Cluster.from_dict(data) assert len(cluster2.instances) == n for i, instance in enumerate(cluster2.instances): assert instance.uid == "%i" % i assert instance.ip == "{0}.{0}.{0}.{0}".format(i) assert instance.username == username assert instance.keypair == keypair