connection-alter.td 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. $ set-sql-timeout duration=60s
  10. $ set-arg-default single-replica-cluster=quickstart
  11. #
  12. # Test basic connection functionality
  13. $ skip-consistency-checks reason="workflow uses SSH keys which we currently can't check"
  14. $ postgres-execute connection=postgres://mz_system:materialize@${testdrive.materialize-internal-sql-addr}
  15. ALTER SYSTEM SET enable_connection_validation_syntax = true
  16. # Create working connection + some data to ingest
  17. $ kafka-create-topic topic=connection_test partitions=1
  18. $ kafka-ingest format=bytes topic=connection_test
  19. 1,2
  20. > CREATE CONNECTION conn TO KAFKA (BROKER '${testdrive.kafka-addr}', SECURITY PROTOCOL PLAINTEXT)
  21. > SELECT name, type from mz_connections WHERE id LIKE 'u%'
  22. name type
  23. ------------------------------
  24. conn kafka
  25. > CREATE CONNECTION progress_override TO KAFKA (
  26. BROKER '${testdrive.kafka-addr}',
  27. PROGRESS TOPIC 'some_progress_topic',
  28. SECURITY PROTOCOL PLAINTEXT
  29. )
  30. > CREATE SOURCE mz_source (first, second)
  31. IN CLUSTER ${arg.single-replica-cluster}
  32. FROM KAFKA CONNECTION conn (TOPIC 'testdrive-connection_test-${testdrive.seed}')
  33. FORMAT CSV WITH 2 COLUMNS
  34. > SELECT * FROM mz_source
  35. first second
  36. ------------
  37. 1 2
  38. ! ALTER CONNECTION conn RESET (broker);
  39. contains:invalid ALTER CONNECTION: invalid CONNECTION: must set one of BROKER, BROKERS, or AWS PRIVATELINK
  40. ! ALTER CONNECTION conn SET (broker = 'abcd') WITH (validate = true);
  41. contains:Failed to resolve hostname
  42. > ALTER CONNECTION conn SET (broker = 'abcd') WITH (validate = false);
  43. > SELECT status = 'stalled' FROM mz_internal.mz_source_statuses WHERE name = 'mz_source';
  44. true
  45. $ kafka-ingest format=bytes topic=connection_test
  46. 2,3
  47. > ALTER CONNECTION conn SET (broker = '${testdrive.kafka-addr}') WITH (validate = true);
  48. > SELECT * FROM mz_source
  49. first second
  50. ------------
  51. 1 2
  52. 2 3
  53. > ALTER CONNECTION conn SET (BROKERS ['${testdrive.kafka-addr}'])
  54. ! ALTER CONNECTION conn DROP (SECURITY PROTOCOL);
  55. contains:Broker does not support SSL connections
  56. ! ALTER CONNECTION conn SET (BROKER '${testdrive.kafka-addr}'), RESET (BROKER);
  57. contains:cannot both SET and DROP/RESET options BROKER
  58. ! ALTER CONNECTION conn SET (BROKER '${testdrive.kafka-addr}'), SET (BROKER '${testdrive.kafka-addr}');
  59. contains:BROKER specified more than once
  60. ! ALTER CONNECTION conn SET (BROKER '${testdrive.kafka-addr}'), SET (BROKER '${testdrive.kafka-addr}'), SET (BROKER '${testdrive.kafka-addr}');
  61. contains:BROKER specified more than once
  62. ! ALTER CONNECTION conn SET (BROKER '${testdrive.kafka-addr}'), SET (BROKERS ['${testdrive.kafka-addr}'])
  63. contains:invalid ALTER CONNECTION: invalid CONNECTION: can only set one of BROKER, BROKERS, or AWS PRIVATELINK
  64. ! ALTER CONNECTION conn SET (BROKER '${testdrive.kafka-addr}'), DROP (BROKERS)
  65. contains:cannot both SET and DROP/RESET mutually exclusive KAFKA options BROKER, BROKERS
  66. ! ALTER CONNECTION conn DROP (BROKER), SET (BROKERS ['${testdrive.kafka-addr}'])
  67. contains:cannot both SET and DROP/RESET mutually exclusive KAFKA options BROKER, BROKERS
  68. # We permit resetting both of these options, and the error occurs later in planning
  69. ! ALTER CONNECTION conn RESET (BROKER), RESET (BROKERS);
  70. contains:invalid ALTER CONNECTION: invalid CONNECTION: must set one of BROKER, BROKERS, or AWS PRIVATELINK
  71. > ALTER CONNECTION conn SET (BROKER = '${testdrive.kafka-addr}');
  72. ! ALTER CONNECTION conn SET (PROGRESS TOPIC = 'new');
  73. contains:cannot ALTER KAFKA option PROGRESS TOPIC
  74. ! ALTER CONNECTION conn RESET (PROGRESS TOPIC);
  75. contains:cannot ALTER KAFKA option PROGRESS TOPIC
  76. # Misc. ALTER CONNECTION operations
  77. ! ALTER CONNECTION conn RESET (PROGRESS TOPIC), ROTATE KEYS;
  78. contains:cannot specify any other actions alongside ALTER CONNECTION...ROTATE KEYS
  79. ! ALTER CONNECTION conn ROTATE KEYS, RESET (PROGRESS TOPIC);
  80. contains:cannot specify any other actions alongside ALTER CONNECTION...ROTATE KEYS
  81. ! ALTER CONNECTION conn ROTATE KEYS, ROTATE KEYS;
  82. contains:cannot specify any other actions alongside ALTER CONNECTION...ROTATE KEYS
  83. # IF EXISTS
  84. > ALTER CONNECTION IF EXISTS abc RESET (PROGRESS TOPIC);
  85. ## Mix altering option w/ rotate keys allowed iff in an IF EXISTS and object DNE
  86. > ALTER CONNECTION IF EXISTS abc RESET (PROGRESS TOPIC), ROTATE KEYS;
  87. # Rotate keys on non-SSH conn
  88. ! ALTER CONNECTION conn ROTATE KEYS
  89. contains:is not an SSH connection
  90. > CREATE CONNECTION ssh_conn TO SSH TUNNEL (
  91. HOST 'host',
  92. USER 'user',
  93. PORT 1
  94. )
  95. WITH (VALIDATE = false);
  96. ! ALTER CONNECTION ssh_conn ROTATE KEYS WITH (VALIDATE = true, VALIDATE = false, VALIDATE = 'abc');
  97. contains:ALTER CONNECTION...ROTATE KEYS does not support WITH (VALIDATE = true, VALIDATE = false, VALIDATE = 'abc')