This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git


The following commit(s) were added to refs/heads/main by this push:
     new 303f6e5b3 refactor(services/libsql): Migrate libsql task to new 
behavior test planner (#3363)
303f6e5b3 is described below

commit 303f6e5b3d93dde690e7afc80dbb2bb4cb532a82
Author: Nadeshiko Manju <[email protected]>
AuthorDate: Fri Nov 3 20:57:11 2023 +0800

    refactor(services/libsql): Migrate libsql task to new behavior test planner 
(#3363)
    
    * refactor(services/libsql): Migrate libsql task to new behavior test 
planner
    
    Signed-off-by: Manjusaka <[email protected]>
    
    * Update code
    
    Signed-off-by: Manjusaka <[email protected]>
    
    ---------
    
    Signed-off-by: Manjusaka <[email protected]>
---
 .github/scripts/behavior_test/plan.py          |   1 -
 .github/services/libsql/libsql-auth/action.yml |  57 +++++++++++
 .github/services/libsql/libsql/action.yml      |  55 +++++++++++
 .github/workflows/service_test_libsql.yml      | 132 -------------------------
 bindings/java/Cargo.toml                       |   3 +
 bindings/nodejs/Cargo.toml                     |   2 +
 bindings/python/Cargo.toml                     |   2 +
 7 files changed, 119 insertions(+), 133 deletions(-)

diff --git a/.github/scripts/behavior_test/plan.py 
b/.github/scripts/behavior_test/plan.py
index d417a25d8..6c3e64448 100755
--- a/.github/scripts/behavior_test/plan.py
+++ b/.github/scripts/behavior_test/plan.py
@@ -162,7 +162,6 @@ def calculate_hint(changed_files: list[str]) -> Hint:
             hint.binding_python = True
             hint.binding_nodejs = True
             hint.services.add(match.group(1))
-
     return hint
 
 
diff --git a/.github/services/libsql/libsql-auth/action.yml 
b/.github/services/libsql/libsql-auth/action.yml
new file mode 100644
index 000000000..3916fb5c2
--- /dev/null
+++ b/.github/services/libsql/libsql-auth/action.yml
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF 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.
+
+name: libsql-auth
+description: 'Behavior test for libsql auth'
+
+runs:
+    using: "composite"
+    steps:
+    - name: Setup libsql
+      shell: bash
+      working-directory: fixtures/libsql
+      run: docker-compose -f docker-compose-auth.yml up -d
+    - name: Create table
+      shell: bash
+      working-directory: core
+      run: |
+          curl --location '127.0.0.1:8080/v2/pipeline' \
+          --header 'Content-Type: application/json' \
+          --header 'Authorization: Bearer 
eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjc5ODg0ODM4Mjd9.MatB2aLnPFusagqH2RMoVExP37o2GFLmaJbmd52OdLtAehRNeqeJZPrefP1t2GBFidApUTLlaBRL6poKq_s3CQ'
 \
+          --data '{
+              "baton": null,
+              "requests": [
+                  {
+                      "type": "execute",
+                      "stmt": {
+                          "sql": "CREATE TABLE IF NOT EXISTS `data` (`key` 
TEXT PRIMARY KEY NOT NULL CHECK(length(key) <= 255),`data` BLOB);",
+                          "args": [],
+                          "want_rows": true
+                      }
+                  }
+              ]
+          }'
+    - name: Setup
+      shell: bash
+      run: |
+          cat << EOF >> $GITHUB_ENV
+          OPENDAL_LIBSQL_CONNECTION_STRING=http://127.0.0.1:8080
+          
OPENDAL_LIBSQL_AUTH_TOKEN=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjc5ODg0ODM4Mjd9.MatB2aLnPFusagqH2RMoVExP37o2GFLmaJbmd52OdLtAehRNeqeJZPrefP1t2GBFidApUTLlaBRL6poKq_s3CQ
+          OPENDAL_LIBSQL_TABLE=data
+          OPENDAL_LIBSQL_KEY_FIELD=key
+          OPENDAL_LIBSQL_VALUE_FIELD=data
+          EOF
\ No newline at end of file
diff --git a/.github/services/libsql/libsql/action.yml 
b/.github/services/libsql/libsql/action.yml
new file mode 100644
index 000000000..00c5bae42
--- /dev/null
+++ b/.github/services/libsql/libsql/action.yml
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF 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.
+
+name: libsql
+description: 'Behavior test for libsql'
+
+runs:
+    using: "composite"
+    steps:
+    - name: Setup libsql
+      shell: bash
+      working-directory: fixtures/libsql
+      run: docker-compose -f docker-compose.yml up -d
+    - name: Create table
+      shell: bash
+      working-directory: core
+      run: |
+          curl --location '127.0.0.1:8080/v2/pipeline' \
+          --header 'Content-Type: application/json' \
+          --data '{
+              "baton": null,
+              "requests": [
+                  {
+                      "type": "execute",
+                      "stmt": {
+                          "sql": "CREATE TABLE IF NOT EXISTS `data` (`key` 
TEXT PRIMARY KEY NOT NULL CHECK(length(key) <= 255),`data` BLOB);",
+                          "args": [],
+                          "want_rows": true
+                      }
+                  }
+              ]
+          }'
+    - name: Setup
+      shell: bash
+      run: |
+          cat << EOF >> $GITHUB_ENV
+          OPENDAL_LIBSQL_CONNECTION_STRING=http://127.0.0.1:8080
+          OPENDAL_LIBSQL_TABLE=data
+          OPENDAL_LIBSQL_KEY_FIELD=key
+          OPENDAL_LIBSQL_VALUE_FIELD=data
+          EOF
\ No newline at end of file
diff --git a/.github/workflows/service_test_libsql.yml 
b/.github/workflows/service_test_libsql.yml
deleted file mode 100644
index 651f1d068..000000000
--- a/.github/workflows/service_test_libsql.yml
+++ /dev/null
@@ -1,132 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF 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.
-
-name: Service Test Libsql
-
-on:
-  push:
-    branches:
-      - main
-  pull_request:
-    branches:
-      - main
-    paths:
-      - "core/src/**"
-      - "core/tests/**"
-      - "!core/src/docs/**"
-      - "!core/src/services/**"
-      - "core/src/services/libsql/**"
-      - ".github/workflows/service_test_libsql.yml"
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
-  cancel-in-progress: true
-
-jobs:
-  libsql:
-    runs-on: ubuntu-latest
-
-    steps:
-      - uses: actions/checkout@v4
-      - name: Setup libsql Server
-        shell: bash
-        working-directory: fixtures/libsql
-        run: docker-compose -f docker-compose.yml up -d
-
-      - name: Setup Rust toolchain
-        uses: ./.github/actions/setup
-        with:
-          need-nextest: true
-
-      - name: Create table
-        shell: bash
-        working-directory: core
-        run: |
-          curl --location '127.0.0.1:8080/v2/pipeline' \
-          --header 'Content-Type: application/json' \
-          --data '{
-              "baton": null,
-              "requests": [
-                  {
-                      "type": "execute",
-                      "stmt": {
-                          "sql": "CREATE TABLE IF NOT EXISTS `data` (`key` 
TEXT PRIMARY KEY NOT NULL CHECK(length(key) <= 255),`data` BLOB);",
-                          "args": [],
-                          "want_rows": true
-                      }
-                  }
-              ]
-          }'
-
-      - name: Test
-        shell: bash
-        working-directory: core
-        run: cargo nextest run behavior --features tests,services-libsql
-        env:
-          OPENDAL_TEST: libsql
-          OPENDAL_LIBSQL_CONNECTION_STRING: http://127.0.0.1:8080
-          OPENDAL_LIBSQL_TABLE: data
-          OPENDAL_LIBSQL_KEY_FIELD: key
-          OPENDAL_LIBSQL_VALUE_FIELD: data
-
-  libsql-auth:
-    runs-on: ubuntu-latest
-
-    steps:
-      - uses: actions/checkout@v4
-      - name: Setup libsql-auth Server
-        shell: bash
-        working-directory: fixtures/libsql
-        run: docker-compose -f docker-compose-auth.yml up -d
-
-      - name: Setup Rust toolchain
-        uses: ./.github/actions/setup
-        with:
-          need-nextest: true
-
-      - name: Create table
-        shell: bash
-        working-directory: core
-        run: |
-          curl --location '127.0.0.1:8080/v2/pipeline' \
-          --header 'Content-Type: application/json' \
-          --header 'Authorization: Bearer 
eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjc5ODg0ODM4Mjd9.MatB2aLnPFusagqH2RMoVExP37o2GFLmaJbmd52OdLtAehRNeqeJZPrefP1t2GBFidApUTLlaBRL6poKq_s3CQ'
 \
-          --data '{
-              "baton": null,
-              "requests": [
-                  {
-                      "type": "execute",
-                      "stmt": {
-                          "sql": "CREATE TABLE IF NOT EXISTS `data` (`key` 
TEXT PRIMARY KEY NOT NULL CHECK(length(key) <= 255),`data` BLOB);",
-                          "args": [],
-                          "want_rows": true
-                      }
-                  }
-              ]
-          }'
-
-      - name: Test
-        shell: bash
-        working-directory: core
-        run: cargo nextest run behavior --features tests,services-libsql
-        env:
-          OPENDAL_TEST: libsql
-          OPENDAL_LIBSQL_CONNECTION_STRING: http://127.0.0.1:8080
-          OPENDAL_LIBSQL_AUTH_TOKEN: 
eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjc5ODg0ODM4Mjd9.MatB2aLnPFusagqH2RMoVExP37o2GFLmaJbmd52OdLtAehRNeqeJZPrefP1t2GBFidApUTLlaBRL6poKq_s3CQ
-          OPENDAL_LIBSQL_TABLE: data
-          OPENDAL_LIBSQL_KEY_FIELD: key
-          OPENDAL_LIBSQL_VALUE_FIELD: data
diff --git a/bindings/java/Cargo.toml b/bindings/java/Cargo.toml
index 2553712f3..87c7ca2c7 100644
--- a/bindings/java/Cargo.toml
+++ b/bindings/java/Cargo.toml
@@ -82,6 +82,7 @@ services-all = [
   "services-mongodb",
   "services-sqlite",
   "services-azfile",
+  "services-libsql",
 ]
 
 # Default services provided by opendal.
@@ -129,6 +130,8 @@ services-supabase = ["opendal/services-supabase"]
 services-tikv = ["opendal/services-tikv"]
 services-vercel-artifacts = ["opendal/services-vercel-artifacts"]
 services-wasabi = ["opendal/services-wasabi"]
+services-libsql = ["opendal/services-libsql"]
+
 
 [dependencies]
 anyhow = "1.0.71"
diff --git a/bindings/nodejs/Cargo.toml b/bindings/nodejs/Cargo.toml
index 4024a9f5e..4460e7826 100644
--- a/bindings/nodejs/Cargo.toml
+++ b/bindings/nodejs/Cargo.toml
@@ -78,6 +78,7 @@ services-all = [
   "services-wasabi",
   "services-mongodb",
   "services-sqlite",
+  "services-libsql"
 ]
 
 # Default services provided by opendal.
@@ -125,6 +126,7 @@ services-supabase = ["opendal/services-supabase"]
 services-tikv = ["opendal/services-tikv"]
 services-vercel-artifacts = ["opendal/services-vercel-artifacts"]
 services-wasabi = ["opendal/services-wasabi"]
+services-libsql = ["opendal/services-libsql"]
 
 [lib]
 crate-type = ["cdylib"]
diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml
index c5f778dd9..7ace6adb4 100644
--- a/bindings/python/Cargo.toml
+++ b/bindings/python/Cargo.toml
@@ -78,6 +78,7 @@ services-all = [
   "services-wasabi",
   "services-mongodb",
   "services-sqlite",
+  "services-libsql"
 ]
 
 # Default services provided by opendal.
@@ -125,6 +126,7 @@ services-supabase = ["opendal/services-supabase"]
 services-tikv = ["opendal/services-tikv"]
 services-vercel-artifacts = ["opendal/services-vercel-artifacts"]
 services-wasabi = ["opendal/services-wasabi"]
+services-libsql = ["opendal/services-libsql"]
 
 [lib]
 crate-type = ["cdylib"]

Reply via email to