chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Suppressing errors for Test projects under dotnet folder
|
||||
[*.cs]
|
||||
dotnet_diagnostic.CA2007.severity = none # Do not directly await a Task
|
||||
dotnet_diagnostic.VSTHRD111.severity = none # Use .ConfigureAwait(bool) is hidden by default, set to none to prevent IDE from changing on autosave
|
||||
dotnet_diagnostic.CS1591.severity = none # Missing XML comment for publicly visible type or member
|
||||
dotnet_diagnostic.IDE1006.severity = warning # Naming rule violations
|
||||
@@ -0,0 +1,39 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>SemanticKernel.Connectors.Pinecone.UnitTests</AssemblyName>
|
||||
<RootNamespace>SemanticKernel.Connectors.Pinecone.UnitTests</RootNamespace>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>disable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<NoWarn>$(NoWarn);CA2007,CA1806,CA1869,CA1861,IDE0300,VSTHRD111,SKEXP0001,SKEXP0010,SKEXP0050</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk"/>
|
||||
<PackageReference Include="Moq"/>
|
||||
<PackageReference Include="xunit"/>
|
||||
<PackageReference Include="xunit.runner.visualstudio">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="$(RepoRoot)/dotnet/src/InternalUtilities/test/AssertExtensions.cs"
|
||||
Link="%(RecursiveDir)%(Filename)%(Extension)"/>
|
||||
<Compile Include="$(RepoRoot)/dotnet/src/InternalUtilities/test/HttpMessageHandlerStub.cs"
|
||||
Link="%(RecursiveDir)%(Filename)%(Extension)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\VectorData\Pinecone\Pinecone.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,55 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Pinecone;
|
||||
using Pinecone;
|
||||
using Xunit;
|
||||
|
||||
namespace SemanticKernel.Connectors.Pinecone.UnitTests;
|
||||
|
||||
/// <summary>
|
||||
/// Contains tests for the <see cref="PineconeCollection{TKey, TRecord}"/> class.
|
||||
/// </summary>
|
||||
public class PineconeCollectionTests
|
||||
{
|
||||
private const string TestCollectionName = "testcollection";
|
||||
|
||||
/// <summary>
|
||||
/// Tests that the collection can be created even if the definition and the type do not match.
|
||||
/// In this case, the expectation is that a custom mapper will be provided to map between the
|
||||
/// schema as defined by the definition and the different data model.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void CanCreateCollectionWithMismatchedDefinitionAndType()
|
||||
{
|
||||
// Arrange.
|
||||
var definition = new VectorStoreCollectionDefinition()
|
||||
{
|
||||
Properties =
|
||||
[
|
||||
new VectorStoreKeyProperty("Key", typeof(string)),
|
||||
new VectorStoreDataProperty("OriginalNameData", typeof(string)),
|
||||
new VectorStoreVectorProperty("Vector", typeof(ReadOnlyMemory<float>?), 4),
|
||||
]
|
||||
};
|
||||
var pineconeClient = new PineconeClient("fake api key");
|
||||
|
||||
// Act.
|
||||
using var sut = new PineconeCollection<string, SinglePropsModel>(
|
||||
pineconeClient,
|
||||
TestCollectionName,
|
||||
new() { Definition = definition });
|
||||
}
|
||||
|
||||
public sealed class SinglePropsModel
|
||||
{
|
||||
public string Key { get; set; } = string.Empty;
|
||||
|
||||
public string OriginalNameData { get; set; } = string.Empty;
|
||||
|
||||
public string Data { get; set; } = string.Empty;
|
||||
|
||||
public ReadOnlyMemory<float>? Vector { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user