def test_add_delete_es256_device(test_topic, capsys):
    device_id = device_id_template.format('ES256')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_es256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, es_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.get_state(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert 'format : ES256_PEM' in out
    assert 'State: {' in out
def test_add_patch_delete_es256(test_topic, capsys):
    device_id = device_id_template.format('PATCHME')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_es256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, es_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)
    out, _ = capsys.readouterr()
    assert 'format : ES256_PEM' in out

    manager.patch_rsa256_auth(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)
    out, _ = capsys.readouterr()
    assert 'format : RSA_X509_PEM' in out

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)
def test_add_config_unauth_device(test_topic, capsys):
    device_id = device_id_template.format('UNAUTH')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_unauth_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.set_config(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, 0, 'test')

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    out, _ = capsys.readouterr()
    assert 'Set device configuration' in out
    assert 'UNAUTH' in out
    assert 'version: 2' in out
def test_state(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_rs256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    sub_topic = 'state'
    mqtt_topic = '/devices/{}/{}'.format(device_id, sub_topic)

    client = cloudiot_mqtt_example.get_client(
        project_id, cloud_region, registry_id, device_id,
        rsa_private_path, 'RS256', ca_cert_path,
        'mqtt.googleapis.com', 443)
    client.publish(mqtt_topic, 'state test', qos=1)
    client.loop_start()

    time.sleep(3)

    client.loop_stop()

    manager.get_state(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert 'on_publish' in out
    assert 'c3RhdGUgdGVzdA' in out
def test_add_delete_unauth_device(test_topic, capsys):
    device_id = device_id_template.format('UNAUTH')
    manager.open_registry(
            service_account_json, api_key, project_id, cloud_region,
            pubsub_topic, registry_id)

    manager.create_unauth_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id)

    manager.get_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id)

    manager.delete_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id)

    out, _ = capsys.readouterr()
    assert 'UNAUTH' in out
Exemple #6
0
def test_add_delete_es256_device(test_topic, capsys):
    device_id = device_id_template.format('ES256')
    manager.open_registry(service_account_json, project_id, cloud_region,
                          pubsub_topic, registry_id)

    manager.create_es256_device(service_account_json, project_id, cloud_region,
                                registry_id, device_id, es_cert_path)

    manager.get_device(service_account_json, project_id, cloud_region,
                       registry_id, device_id)

    manager.get_state(service_account_json, project_id, cloud_region,
                      registry_id, device_id)

    manager.delete_device(service_account_json, project_id, cloud_region,
                          registry_id, device_id)

    manager.delete_registry(service_account_json, project_id, cloud_region,
                            registry_id)

    out, _ = capsys.readouterr()
    assert 'format : ES256_PEM' in out
def test_config(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_rs256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    client = cloudiot_mqtt_example.get_client(
        project_id, cloud_region, registry_id, device_id,
        rsa_private_path, 'RS256', ca_cert_path,
        'mqtt.googleapis.com', 443)
    client.loop_start()

    time.sleep(5)

    client.loop_stop()

    manager.get_state(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert "Received message" in out
    assert '/devices/{}/config'.format(device_id) in out
def test_state(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(service_account_json, project_id, cloud_region,
                          pubsub_topic, registry_id)

    manager.create_rs256_device(service_account_json, project_id, cloud_region,
                                registry_id, device_id, rsa_cert_path)

    manager.get_device(service_account_json, project_id, cloud_region,
                       registry_id, device_id)

    sub_topic = 'state'
    mqtt_topic = '/devices/{}/{}'.format(device_id, sub_topic)

    client = cloudiot_mqtt_example.get_client(project_id, cloud_region,
                                              registry_id, device_id,
                                              rsa_private_path, 'RS256',
                                              ca_cert_path,
                                              'mqtt.googleapis.com', 443)
    client.publish(mqtt_topic, 'state test', qos=1)
    client.loop_start()

    time.sleep(3)

    client.loop_stop()

    manager.get_state(service_account_json, project_id, cloud_region,
                      registry_id, device_id)

    manager.delete_device(service_account_json, project_id, cloud_region,
                          registry_id, device_id)

    manager.delete_registry(service_account_json, project_id, cloud_region,
                            registry_id)

    out, _ = capsys.readouterr()
    assert 'on_publish' in out
    assert 'c3RhdGUgdGVzdA' in out
Exemple #9
0
def test_event(test_topic, test_registry_id, test_device_id, capsys):  # noqa
    manager.get_device(service_account_json, project_id, cloud_region,
                       test_registry_id, test_device_id)

    sub_topic = 'events'
    mqtt_topic = '/devices/{}/{}'.format(test_device_id, sub_topic)

    client = cloudiot_mqtt_example.get_client(project_id, cloud_region,
                                              test_registry_id, test_device_id,
                                              rsa_private_path, 'RS256',
                                              ca_cert_path,
                                              'mqtt.googleapis.com', 443)

    client.loop_start()
    client.publish(mqtt_topic, 'just test', qos=1)
    time.sleep(2)
    client.loop_stop()

    manager.get_state(service_account_json, project_id, cloud_region,
                      test_registry_id, test_device_id)

    out, _ = capsys.readouterr()
    assert 'on_publish' in out
Exemple #10
0
def test_add_delete_unauth_device(test_topic, capsys):
    device_id = device_id_template.format('UNAUTH')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_unauth_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert 'UNAUTH' in out
def test_state(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_rs256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    jwt_token = cloudiot_http_example.create_jwt(
            project_id, 'resources/rsa_private.pem', 'RS256')

    print(cloudiot_http_example.publish_message(
            'hello', 'state', _BASE_URL, project_id, cloud_region,
            registry_id, device_id, jwt_token))

    manager.get_state(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert 'format : RSA_X509_PEM' in out
    assert 'State: {' in out
    assert 'aGVsbG8=' in out
    assert '200' in out
def test_state(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(
            service_account_json, project_id, cloud_region, pubsub_topic,
            registry_id)

    manager.create_rs256_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    jwt_token = cloudiot_http_example.create_jwt(
            project_id, 'resources/rsa_private.pem', 'RS256')

    print(cloudiot_http_example.publish_message(
            'hello', 'state', _BASE_URL, project_id, cloud_region,
            registry_id, device_id, jwt_token))

    manager.get_state(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_device(
            service_account_json, project_id, cloud_region, registry_id,
            device_id)

    manager.delete_registry(
            service_account_json, project_id, cloud_region, registry_id)

    out, _ = capsys.readouterr()
    assert 'format : RSA_X509_PEM' in out
    assert 'binary_data: "hello"' in out
    assert '200' in out
def test_add_delete_rs256_device(test_topic, capsys):
    device_id = device_id_template.format('RSA256')
    manager.open_registry(
            service_account_json, api_key, project_id, cloud_region,
            pubsub_topic, registry_id)

    manager.create_rs256_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id, rsa_cert_path)

    manager.get_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id)

    manager.delete_device(
            service_account_json, api_key, project_id, cloud_region,
            registry_id, device_id)

    manager.delete_registry(
            service_account_json, api_key, project_id, cloud_region,
            registry_id)

    out, _ = capsys.readouterr()
    assert 'format : RSA_X509_PEM' in out