chore: import upstream snapshot with attribution
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:21:23 +08:00
commit b957a53def
5423 changed files with 863745 additions and 0 deletions
@@ -0,0 +1,48 @@
// Copyright (c) Microsoft. All rights reserved.
using Docker.DotNet.Models;
using DotNet.Testcontainers.Builders;
using DotNet.Testcontainers.Configurations;
namespace Weaviate.ConformanceTests.Support.TestContainer;
public sealed class WeaviateBuilder : ContainerBuilder<WeaviateBuilder, WeaviateContainer, WeaviateConfiguration>
{
public const string WeaviateImage = "semitechnologies/weaviate:1.28.12";
public const ushort WeaviateHttpPort = 8080;
public const ushort WeaviateGrpcPort = 50051;
public WeaviateBuilder() : this(new WeaviateConfiguration()) => this.DockerResourceConfiguration = this.Init().DockerResourceConfiguration;
private WeaviateBuilder(WeaviateConfiguration dockerResourceConfiguration) : base(dockerResourceConfiguration)
=> this.DockerResourceConfiguration = dockerResourceConfiguration;
public override WeaviateContainer Build()
{
this.Validate();
return new WeaviateContainer(this.DockerResourceConfiguration);
}
protected override WeaviateBuilder Init()
=> base.Init()
.WithImage(WeaviateImage)
.WithPortBinding(WeaviateHttpPort, true)
.WithPortBinding(WeaviateGrpcPort, true)
.WithEnvironment("AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED", "true")
.WithEnvironment("PERSISTENCE_DATA_PATH", "/var/lib/weaviate")
.WithWaitStrategy(Wait.ForUnixContainer()
.UntilInternalTcpPortIsAvailable(WeaviateHttpPort)
.UntilInternalTcpPortIsAvailable(WeaviateGrpcPort)
.UntilHttpRequestIsSucceeded(r => r.ForPath("/v1/.well-known/ready").ForPort(WeaviateHttpPort)));
protected override WeaviateBuilder Clone(IResourceConfiguration<CreateContainerParameters> resourceConfiguration)
=> this.Merge(this.DockerResourceConfiguration, new WeaviateConfiguration(resourceConfiguration));
protected override WeaviateBuilder Merge(WeaviateConfiguration oldValue, WeaviateConfiguration newValue)
=> new(new WeaviateConfiguration(oldValue, newValue));
protected override WeaviateConfiguration DockerResourceConfiguration { get; }
protected override WeaviateBuilder Clone(IContainerConfiguration resourceConfiguration)
=> this.Merge(this.DockerResourceConfiguration, new WeaviateConfiguration(resourceConfiguration));
}
@@ -0,0 +1,53 @@
// Copyright (c) Microsoft. All rights reserved.
using Docker.DotNet.Models;
using DotNet.Testcontainers.Configurations;
namespace Weaviate.ConformanceTests.Support.TestContainer;
public sealed class WeaviateConfiguration : ContainerConfiguration
{
/// <summary>
/// Initializes a new instance of the <see cref="WeaviateConfiguration" /> class.
/// </summary>
public WeaviateConfiguration()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="WeaviateConfiguration" /> class.
/// </summary>
/// <param name="resourceConfiguration">The Docker resource configuration.</param>
public WeaviateConfiguration(IResourceConfiguration<CreateContainerParameters> resourceConfiguration)
: base(resourceConfiguration)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="WeaviateConfiguration" /> class.
/// </summary>
/// <param name="resourceConfiguration">The Docker resource configuration.</param>
public WeaviateConfiguration(IContainerConfiguration resourceConfiguration)
: base(resourceConfiguration)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="WeaviateConfiguration" /> class.
/// </summary>
/// <param name="resourceConfiguration">The Docker resource configuration.</param>
public WeaviateConfiguration(WeaviateConfiguration resourceConfiguration)
: this(new WeaviateConfiguration(), resourceConfiguration)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="WeaviateConfiguration" /> class.
/// </summary>
/// <param name="oldValue">The old Docker resource configuration.</param>
/// <param name="newValue">The new Docker resource configuration.</param>
public WeaviateConfiguration(WeaviateConfiguration oldValue, WeaviateConfiguration newValue)
: base(oldValue, newValue)
{
}
}
@@ -0,0 +1,7 @@
// Copyright (c) Microsoft. All rights reserved.
using DotNet.Testcontainers.Containers;
namespace Weaviate.ConformanceTests.Support.TestContainer;
public class WeaviateContainer(WeaviateConfiguration configuration) : DockerContainer(configuration);