Skip to content

Commit

Permalink
fixups
Browse files Browse the repository at this point in the history
Signed-off-by: Clemens Vasters <[email protected]>
  • Loading branch information
clemensv committed Apr 2, 2024
1 parent 8f04534 commit 84e4ec5
Show file tree
Hide file tree
Showing 48 changed files with 511 additions and 1,504 deletions.
4 changes: 2 additions & 2 deletions test/cs/amqp_end_to_end/AmqpEndToEndTest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\tmp\test\cs\amqp_end_to_end\consumer\Contoso.ERP.Consumer.csproj" />
Expand Down
17 changes: 7 additions & 10 deletions test/cs/amqp_end_to_end/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// to send and receive messages.

using CloudNative.CloudEvents;
using CloudNative.CloudEvents.Experimental.Endpoints;
using CloudNative.CloudEvents.SystemTextJson;
using Contoso.ERP.Consumer;
using Contoso.ERP.Producer;
Expand All @@ -19,20 +18,18 @@ public static async Task<int> Main(string[] args)
var blockingQueue = new BlockingCollection<byte[]>(new ConcurrentQueue<byte[]>());
var unmatchedEvents = new HashSet<string>();

AmqpProtocol.Initialize();

JsonEventFormatter formatter = new JsonEventFormatter();
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
var logger = loggerFactory.CreateLogger("TestLogger");
// Create a new instance of the Consumer class.

var passwordCredential = new PlainEndpointCredential("test", "password");

var consumer = EventsEventConsumer.CreateForAmqpConsumer(logger, passwordCredential, new EventsEventDispatcher(unmatchedEvents));
await consumer.Endpoint.StartAsync();
var consumerPasswordCredential = new Contoso.ERP.Consumer.PlainEndpointCredential("test", "password");
var consumer = EventsEventConsumer.CreateForAmqpConsumer(logger, consumerPasswordCredential, new EventsEventDispatcher(unmatchedEvents));
await consumer.StartAsync();

var producer = EventsEventProducer.CreateForAmqpProducer(logger, passwordCredential, ContentMode.Structured, formatter);
producer.Endpoint.BeforeSend += (o, e) =>
var producerPasswordCredential = new Contoso.ERP.Producer.PlainEndpointCredential("test", "password");
var producer = EventsEventProducer.CreateProducerForAmqpProducer(logger, producerPasswordCredential, ContentMode.Structured, formatter);
producer.BeforeSend += (o, e) =>
{
if (e.Id == null) throw new ArgumentNullException();
unmatchedEvents.Add(e.Id);
Expand Down Expand Up @@ -122,7 +119,7 @@ await producer.SendPaymentsReceivedAsync(new Contoso.ERP.Producer.PaymentData()

await Task.Delay(5000);

await consumer.Endpoint.StopAsync();
await consumer.StopAsync();

if (unmatchedEvents.Count != 0)
{
Expand Down
5 changes: 0 additions & 5 deletions test/cs/amqp_end_to_end/nuget.config

This file was deleted.

6 changes: 3 additions & 3 deletions test/cs/amqp_end_to_end/test_amqp_end_to_end.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ def run_test():
shutil.rmtree(os.path.join(project_root, 'tmp/test/cs/amqp_end_to_end/'))
# generate the producer
sys.argv = ['xregistry', 'generate',
'--style', 'producer',
'--style', 'amqpproducer',
'--language', 'cs',
'--definitions', os.path.join(os.path.dirname(__file__), 'amqp_end_to_end.xreg.json'),
'--output', os.path.join(project_root, 'tmp/test/cs/amqp_end_to_end/producer/'),
'--projectname', 'Contoso.ERP.Producer']
xregistry.cli()
# generate the consumer
sys.argv = [ 'xregistry', 'generate',
'--style', 'consumer',
'--style', 'amqpconsumer',
'--language', 'cs',
'--definitions', os.path.join(os.path.dirname(__file__), 'amqp_end_to_end.xreg.json'),
'--output', os.path.join(project_root, 'tmp/test/cs/amqp_end_to_end/consumer/'),
Expand All @@ -38,7 +38,7 @@ def run_test():
# run dotnet build on the csproj here that references the generated files already
subprocess.check_call(['dotnet', 'run'], cwd=os.path.dirname(__file__), stdout=sys.stdout, stderr=sys.stderr)

@pytest.mark.skip(reason="temporarily disabled")
#@pytest.mark.skip(reason="temporarily disabled")
def test_amqp_end_to_end():
container_name = ''.join(random.choices(string.ascii_lowercase, k=10))
start_command = "docker run --name {} -d -p 127.11.0.2:5672:5672 -e AMQ_USER=test -e AMQ_PASSWORD=password quay.io/artemiscloud/activemq-artemis-broker".\
Expand Down
5 changes: 1 addition & 4 deletions test/cs/http_azfn_http/client/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// to send and receive messages.

using CloudNative.CloudEvents;
using CloudNative.CloudEvents.Experimental.Endpoints;
using CloudNative.CloudEvents.SystemTextJson;
using Contoso.ERP.Producer;
using Microsoft.Extensions.Logging;
Expand All @@ -20,15 +19,13 @@ public static async Task<int> Main(string[] args)
var sent = new StreamWriter(fileName, new FileStreamOptions() { Mode = FileMode.Create, Access = FileAccess.Write });
sent.AutoFlush = true;

HttpProtocol.Initialize();

JsonEventFormatter formatter = new JsonEventFormatter();
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
var logger = loggerFactory.CreateLogger("TestLogger");
// Create a new instance of the Consumer class.

var producer = EventsEventProducer.CreateForHttpProducer(logger, null, ContentMode.Structured, formatter);
producer.Endpoint.BeforeSend += (o, e) =>
producer.BeforeSend += (o, e) =>
{
sent.WriteLine($"{e.Id}");
Expand Down
4 changes: 2 additions & 2 deletions test/cs/http_azfn_http/client/client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\tmp\test\cs\azfn_http\producer\Contoso.ERP.Producer.csproj" />
Expand Down
4 changes: 2 additions & 2 deletions test/cs/http_azfn_http/test_azfn_http.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ def terminate_process(process_name):
except:
print('Failed to terminate process {}'.format(process_name))

@pytest.mark.skip(reason="temporarily disabled")
#@pytest.mark.skip(reason="temporarily disabled")
def test_azfn_http():
# clean the output directory
output = os.path.join(project_root, "tmp/test/cs/azfn_http/")
if os.path.exists(output):
shutil.rmtree(output)
# generate the producer
sys.argv = ['xregistry', 'generate',
'--style', 'producer',
'--style', 'httpproducer',
'--language', 'cs',
'--definitions', os.path.join(os.path.dirname(__file__), 'azfn_http.xreg.json'),
'--output', os.path.join(project_root, 'tmp/test/cs/azfn_http/producer/'),
Expand Down
4 changes: 2 additions & 2 deletions test/cs/http_end_to_end/HttpEndToEndTest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\tmp\test\cs\http_end_to_end\consumer\Contoso.ERP.Consumer.csproj" />
Expand Down
43 changes: 20 additions & 23 deletions test/cs/http_end_to_end/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// to send and receive messages.

using CloudNative.CloudEvents;
using CloudNative.CloudEvents.Experimental.Endpoints;
using CloudNative.CloudEvents.SystemTextJson;
using Contoso.ERP.Consumer;
using Contoso.ERP.Producer;
Expand All @@ -19,18 +18,16 @@ public static async Task<int> Main(string[] args)
var blockingQueue = new BlockingCollection<byte[]>(new ConcurrentQueue<byte[]>());
var unmatchedEvents = new HashSet<string>();

HttpProtocol.Initialize();

JsonEventFormatter formatter = new JsonEventFormatter();
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
var logger = loggerFactory.CreateLogger("TestLogger");
// Create a new instance of the Consumer class.

var consumer = EventsEventConsumer.CreateForHttpConsumer(logger, null, new EventsEventDispatcher(unmatchedEvents));
await consumer.Endpoint.StartAsync();
await consumer.StartAsync();

var producer = EventsEventProducer.CreateForHttpProducer(logger, null, ContentMode.Structured, formatter);
producer.Endpoint.BeforeSend += (o, e) =>
producer.BeforeSend += (o, e) =>
{
if (e.Id == null) throw new ArgumentNullException();
unmatchedEvents.Add(e.Id);
Expand Down Expand Up @@ -120,7 +117,7 @@ await producer.SendPaymentsReceivedAsync(new Contoso.ERP.Producer.PaymentData()

await Task.Delay(5000);

await consumer.Endpoint.StopAsync();
await consumer.StopAsync();

if (unmatchedEvents.Count != 0)
{
Expand All @@ -140,120 +137,120 @@ public EventsEventDispatcher(HashSet<string> unmatchedEvents)
this.unmatchedEvents = unmatchedEvents;
}

public Task OnEmployeeAddedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeData data)
public Task OnEmployeeAddedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnEmployeeDeletedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeDeletionData data)
public Task OnEmployeeDeletedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeDeletionData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnEmployeeUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeUpdatedData data)
public Task OnEmployeeUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.EmployeeUpdatedData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnInventoryUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.InventoryData data)
public Task OnInventoryUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.InventoryData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnPaymentsReceivedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PaymentData data)
public Task OnPaymentsReceivedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PaymentData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnProductAddedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductData data)
public Task OnProductAddedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnProductDeletedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductDeletionData data)
public Task OnProductDeletedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductDeletionData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnProductUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductUpdatedData data)
public Task OnProductUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ProductUpdatedData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnPurchaseOrderCreatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PurchaseOrderData data)
public Task OnPurchaseOrderCreatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PurchaseOrderData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnPurchaseOrderDeletedAsync(CloudEvent cloudEvent, object data)
public Task OnPurchaseOrderDeletedAsync(CloudEvent cloudEvent, object? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;

}

public Task OnPurchaseOrderUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PurchaseOrderUpdatedData data)
public Task OnPurchaseOrderUpdatedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.PurchaseOrderUpdatedData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnReservationCancelledAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.CancellationData data)
public Task OnReservationCancelledAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.CancellationData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnReservationPlacedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.OrderData data)
public Task OnReservationPlacedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.OrderData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnReservationRefundedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.RefundData data)
public Task OnReservationRefundedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.RefundData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnReturnRequestedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ReturnData data)
public Task OnReturnRequestedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ReturnData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnShipmentAcceptedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ShipmentData data)
public Task OnShipmentAcceptedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ShipmentData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
return Task.CompletedTask;
}

public Task OnShipmentRejectedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ShipmentData data)
public Task OnShipmentRejectedAsync(CloudEvent cloudEvent, Contoso.ERP.Consumer.ShipmentData? data)
{
if (cloudEvent.Id != null)
unmatchedEvents.Remove(cloudEvent.Id);
Expand Down
6 changes: 3 additions & 3 deletions test/cs/http_end_to_end/test_http_end_to_end.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@

# this test invokes the xregistry command line tool to generate a C# proxy and a consumer
# and then builds the proxy and the consumer and runs a prepared test that integrates both
@pytest.mark.skip(reason="temporarily disabled")
#@pytest.mark.skip(reason="temporarily disabled")
def test_http_end_to_end():
# clean the output directory
if os.path.exists(os.path.join(project_root, 'tmp/test/cs/http_end_to_end/')):
shutil.rmtree(os.path.join(project_root, 'tmp/test/cs/http_end_to_end/'))
# generate the producer
sys.argv = ['xregistry', 'generate',
'--style', 'producer',
'--style', 'httpproducer',
'--language', 'cs',
'--definitions', os.path.join(os.path.dirname(__file__), 'http_end_to_end.xreg.json'),
'--output', os.path.join(project_root, 'tmp/test/cs/http_end_to_end/producer/'),
'--projectname', 'Contoso.ERP.Producer']
xregistry.cli()
# generate the consumer
sys.argv = [ 'xregistry', 'generate',
'--style', 'consumer',
'--style', 'httpconsumer',
'--language', 'cs',
'--definitions', os.path.join(os.path.dirname(__file__), 'http_end_to_end.xreg.json'),
'--output', os.path.join(project_root, 'tmp/test/cs/http_end_to_end/consumer/'),
Expand Down
4 changes: 2 additions & 2 deletions test/cs/http_end_to_end_proto/HttpEndToEndProtoTest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\tmp\test\cs\http_end_to_end_proto\consumer\Contoso.ERP.Consumer.csproj" />
Expand Down
Loading

0 comments on commit 84e4ec5

Please sign in to comment.