Skip to content

feat(core): service add DBFS API 2.0 support #175

feat(core): service add DBFS API 2.0 support

feat(core): service add DBFS API 2.0 support #175

# 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 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 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