Browse Source

HUE-9077 [ksql] Adding a spec for SHOW and LIST

Romain 6 years ago
parent
commit
d4b62903c4

+ 59 - 0
desktop/core/src/desktop/js/parse/sql/ksql/spec/ksqlAutocompleteParser_Show_Spec.js

@@ -0,0 +1,59 @@
+// Licensed to Cloudera, Inc. under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  Cloudera, Inc. licenses this file
+// to you under the Apache License, Version 2.0 (the
+// 'License'); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an 'AS IS' BASIS,
+// 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.
+
+import ksqlAutocompleteParser from '../ksqlAutocompleteParser';
+
+describe('ksqlAutocompleteParser.js SHOW statements', () => {
+  beforeAll(() => {
+    ksqlAutocompleteParser.yy.parseError = function(msg) {
+      throw Error(msg);
+    };
+  });
+
+  const assertAutoComplete = testDefinition => {
+    const debug = false;
+
+    expect(
+      ksqlAutocompleteParser.parseSql(
+        testDefinition.beforeCursor,
+        testDefinition.afterCursor,
+        debug || testDefinition.debug
+      )
+    ).toEqualDefinition(testDefinition);
+  };
+
+  it('should suggest keywords for "SHOW |"', () => {
+    assertAutoComplete({
+      beforeCursor: 'SHOW ',
+      afterCursor: '',
+      expectedResult: {
+        lowerCase: false,
+        suggestKeywords: ['TABLES', 'STREAMS', 'TOPICS', 'QUERIES', 'PROPERTIES']
+      }
+    });
+  });
+
+  it('should suggest keywords for "LIST |"', () => {
+    assertAutoComplete({
+      beforeCursor: 'LIST ',
+      afterCursor: '',
+      expectedResult: {
+        lowerCase: false,
+        suggestKeywords: ['TABLES', 'STREAMS', 'TOPICS']
+      }
+    });
+  });
+});