diff --git a/frameworks/libs/distributeddb/test/unittest/common/interfaces/distributeddb_cloud_interfaces_set_cloud_schema_test.cpp b/frameworks/libs/distributeddb/test/unittest/common/interfaces/distributeddb_cloud_interfaces_set_cloud_schema_test.cpp index 1e02172549757cd552467968ca09af9c560faef3..faabb669605100c2b10ea0e4576dbad9e41d379e 100644 --- a/frameworks/libs/distributeddb/test/unittest/common/interfaces/distributeddb_cloud_interfaces_set_cloud_schema_test.cpp +++ b/frameworks/libs/distributeddb/test/unittest/common/interfaces/distributeddb_cloud_interfaces_set_cloud_schema_test.cpp @@ -1890,4 +1890,34 @@ namespace { EXPECT_EQ(sqlite3_exec(db_, sql.c_str(), CloudDBSyncUtilsTest::QueryCountCallback, reinterpret_cast(cloudCount), nullptr), SQLITE_OK); } + + /** + * @tc.name: SetCloudSchemaConcurrentTest001 + * @tc.desc: SetCloudSchema and setdistributedtable + * @tc.type: FUNC + * @tc.require: + * @tc.author: chenchaohao + */ + HWTEST_F(DistributedDBCloudInterfacesSetCloudSchemaTest, SetCloudSchemaConcurrentTest001, TestSize.Level0) + { + /** + * @tc.steps:step1. use set shared table + * @tc.expected: step1. return OK + */ + DataBaseSchema dataBaseSchema; + TableSchema tableSchema = { + .name = g_tableName1, + .sharedTableName = g_sharedTableName1, + .fields = g_cloudField1 + }; + dataBaseSchema.tables.push_back(tableSchema); + std::thread t1 ([this, dataBaseSchema]() { + ASSERT_EQ(g_delegate->SetCloudDbSchema(dataBaseSchema), DBStatus::OK); + }); + std::thread t2 ([this]() { + ASSERT_EQ(g_delegate->CreateDistributedTable(g_tableName1, CLOUD_COOPERATION), DBStatus::OK); + }); + t1.join(); + t2.join(); + } } // namespace \ No newline at end of file