github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/cli/interactive_tests/test_demo.tcl (about)

     1  #! /usr/bin/env expect -f
     2  
     3  source [file join [file dirname $argv0] common.tcl]
     4  
     5  start_test "Check that demo insecure says hello properly"
     6  spawn $argv demo --insecure=true
     7  # Be polite.
     8  eexpect "Welcome"
     9  # Warn the user that they won't get persistence.
    10  eexpect "your changes to data stored in the demo session will not be saved!"
    11  # Inform the necessary URL.
    12  eexpect "(console)"
    13  eexpect "http:"
    14  # Ensure same messages as cockroach sql.
    15  eexpect "Server version"
    16  eexpect "Cluster ID"
    17  eexpect "brief introduction"
    18  # Ensure user is root.
    19  eexpect root@
    20  # Ensure db is movr.
    21  eexpect "movr>"
    22  interrupt
    23  eexpect eof
    24  end_test
    25  
    26  start_test "Check that demo insecure says hello properly"
    27  
    28  # With env var.
    29  set ::env(COCKROACH_INSECURE) "true"
    30  spawn $argv demo --empty
    31  eexpect "Welcome"
    32  eexpect "defaultdb>"
    33  
    34  # Show the URLs.
    35  send "\\demo ls\r"
    36  eexpect "(console)"
    37  eexpect "http://"
    38  eexpect "(sql)"
    39  eexpect "root:admin@"
    40  eexpect "(sql/tcp)"
    41  eexpect "root@"
    42  eexpect "sslmode=disable"
    43  eexpect "defaultdb>"
    44  
    45  interrupt
    46  eexpect eof
    47  
    48  # With command-line override.
    49  set ::env(COCKROACH_INSECURE) "false"
    50  spawn $argv demo --insecure=true --empty
    51  eexpect "Welcome"
    52  eexpect "defaultdb>"
    53  
    54  # Show the URLs.
    55  send "\\demo ls\r"
    56  eexpect "(console)"
    57  eexpect "http://"
    58  eexpect "(sql)"
    59  eexpect "root:admin@"
    60  eexpect "(sql/tcp)"
    61  eexpect "root@"
    62  eexpect "sslmode=disable"
    63  eexpect "defaultdb>"
    64  
    65  interrupt
    66  eexpect eof
    67  
    68  end_test
    69  
    70  start_test "Check that demo secure says hello properly"
    71  
    72  
    73  # With env var.
    74  set ::env(COCKROACH_INSECURE) "false"
    75  spawn $argv demo --empty
    76  eexpect "Welcome"
    77  eexpect "The user \"root\" with password \"admin\" has been created."
    78  eexpect "defaultdb>"
    79  
    80  # Show the URLs.
    81  send "\\demo ls\r"
    82  eexpect "(console)"
    83  eexpect "http://"
    84  eexpect "(sql)"
    85  eexpect "root:admin@"
    86  eexpect "(sql/tcp)"
    87  eexpect "root:admin@"
    88  eexpect "sslmode=require"
    89  eexpect "defaultdb>"
    90  
    91  interrupt
    92  eexpect eof
    93  
    94  # With command-line override.
    95  set ::env(COCKROACH_INSECURE) "true"
    96  spawn $argv demo --insecure=false --empty
    97  eexpect "Welcome"
    98  eexpect "The user \"root\" with password \"admin\" has been created."
    99  eexpect "defaultdb>"
   100  
   101  # Show the URLs.
   102  send "\\demo ls\r"
   103  eexpect "(console)"
   104  eexpect "http://"
   105  eexpect "(sql)"
   106  eexpect "root:admin@"
   107  eexpect "(sql/tcp)"
   108  eexpect "root:admin@"
   109  eexpect "sslmode=require"
   110  eexpect "defaultdb>"
   111  
   112  interrupt
   113  eexpect eof
   114  
   115  end_test
   116  
   117  # Test that demo displays connection URLs for nodes in the cluster.
   118  start_test "Check that node URLs are displayed"
   119  spawn $argv demo --insecure --empty
   120  # Check that we see our message.
   121  eexpect "Connection parameters"
   122  eexpect "(sql)"
   123  eexpect "(sql/tcp)"
   124  expect root@
   125  send_eof
   126  eexpect eof
   127  
   128  # Start the test again with a multi node cluster.
   129  spawn $argv demo --insecure --nodes 3 --empty
   130  
   131  # Check that we get a message for each node.
   132  eexpect "Connection parameters"
   133  eexpect "(sql)"
   134  eexpect "(sql/tcp)"
   135  eexpect "defaultdb>"
   136  
   137  send "\\demo ls\r"
   138  eexpect "node 1"
   139  eexpect "(sql)"
   140  eexpect "(sql/tcp)"
   141  eexpect "node 2"
   142  eexpect "(sql)"
   143  eexpect "(sql/tcp)"
   144  eexpect "node 3"
   145  eexpect "(sql)"
   146  eexpect "(sql/tcp)"
   147  eexpect "defaultdb>"
   148  
   149  send_eof
   150  eexpect eof
   151  
   152  spawn $argv demo --insecure=false --empty
   153  # Expect that security related tags are part of the connection URL.
   154  eexpect "(sql/tcp)"
   155  eexpect "sslmode=require"
   156  eexpect "defaultdb>"
   157  
   158  send_eof
   159  eexpect eof
   160  
   161  end_test