Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration tests #85

Open
wants to merge 54 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
7f9467d
Fixed centerline-mapping
daghovland Jan 20, 2025
7a7adb9
Trying to get the coordinate list correct
daghovland Jan 20, 2025
8d1d39d
Almost got the CenterLine mappings
daghovland Jan 21, 2025
934f604
Improved joins and ids on center-lines vs. connectors
daghovland Jan 22, 2025
8b45bc8
WOrking centerline mappings
daghovland Jan 23, 2025
6e53548
WOrking centerline mappings
daghovland Jan 23, 2025
72b3611
Fixed centerline-mapping
daghovland Jan 20, 2025
9924bfa
Trying to get the coordinate list correct
daghovland Jan 20, 2025
8596061
Almost got the CenterLine mappings
daghovland Jan 21, 2025
5cc87f2
Improved joins and ids on center-lines vs. connectors
daghovland Jan 22, 2025
01bcf55
WOrking centerline mappings
daghovland Jan 23, 2025
011f288
WOrking centerline mappings
daghovland Jan 23, 2025
47bef39
Merge remote-tracking branch 'origin/story/223461-create-rml-mappings…
daghovland Jan 23, 2025
691bee5
Fixed error in shacl testing
daghovland Jan 23, 2025
99107ea
Fixed centerline-mapping
daghovland Jan 20, 2025
87c1d41
Trying to get the coordinate list correct
daghovland Jan 20, 2025
ddb7b60
Almost got the CenterLine mappings
daghovland Jan 21, 2025
476cc9e
Improved joins and ids on center-lines vs. connectors
daghovland Jan 22, 2025
7bf7aac
WOrking centerline mappings
daghovland Jan 23, 2025
40b55d7
WOrking centerline mappings
daghovland Jan 23, 2025
c9342f6
Trying to get the coordinate list correct
daghovland Jan 20, 2025
7fad974
Almost got the CenterLine mappings
daghovland Jan 21, 2025
66854ca
Improved joins and ids on center-lines vs. connectors
daghovland Jan 22, 2025
8b37fb7
WOrking centerline mappings
daghovland Jan 23, 2025
b238b9a
WOrking centerline mappings
daghovland Jan 23, 2025
eeedf81
Fixed error in shacl testing
daghovland Jan 23, 2025
9e9dbfb
PlantModel mapping error
daghovland Jan 23, 2025
197e296
Merge remote-tracking branch 'origin/story/223461-create-rml-mappings…
daghovland Jan 23, 2025
97ff3aa
Fixed bug in plant extent mapping
daghovland Jan 24, 2025
87ed469
Added Equipment symbols
daghovland Jan 24, 2025
ca4d519
Fixed shacl to work
daghovland Jan 24, 2025
dd00de8
Added lacking xsd prefix
daghovland Jan 27, 2025
a05b030
Added rotation to symbol mapping
daghovland Jan 27, 2025
ad0c22a
Added rotation to positions
daghovland Jan 27, 2025
251606b
Fixed negative rotation also. Removed PipeTee since not graphical
daghovland Jan 27, 2025
1093c5d
Create interface
henriettelienrebnor Jan 30, 2025
9171a19
Merge main
henriettelienrebnor Jan 30, 2025
d7b5f90
minor fixes
henriettelienrebnor Jan 30, 2025
5c0233d
Updated
JohannesETelle Jan 30, 2025
970a4f0
setup testfactory skeleton
henriettelienrebnor Jan 30, 2025
ae80387
Merge branch 'story/integration-tests' of https://github.com/equinor/…
henriettelienrebnor Jan 30, 2025
0d57584
merge
JohannesETelle Jan 30, 2025
cbf380a
Switch interface, not class
henriettelienrebnor Jan 31, 2025
90d5c0b
Merge branch 'main' into story/integration-tests
daghovland Feb 6, 2025
ea2dd5c
Removed dexpi 2 svg project files
daghovland Feb 6, 2025
4e5bc60
Refactor merge
daghovland Feb 6, 2025
0ba6cc6
test starts up!
daghovland Feb 7, 2025
87d4146
Working integration tests
daghovland Feb 7, 2025
ef7cc9c
Updated workflow to dotnet 9
daghovland Feb 7, 2025
6079033
dotnet correct install
daghovland Feb 7, 2025
3186d82
removed wrong file
daghovland Feb 7, 2025
d9b7e8d
cleanup
eoye Feb 10, 2025
575889d
add normalizeWhitespace
eoye Feb 10, 2025
9c7a142
Delete unused Tests project
eoye Feb 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/pull_request_tester.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
run: |
sudo add-apt-repository ppa:dotnet/backports
sudo apt-get update && sudo apt-get install -y dotnet-sdk-9.0

- name: Restore dependencies
run: dotnet restore ./client/Boundaries/Boundaries.sln
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rdf_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
Expand Down
6 changes: 3 additions & 3 deletions client/Boundaries/Backend/Backend.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.3.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.11" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />
</ItemGroup>

<ItemGroup>
Expand Down
73 changes: 27 additions & 46 deletions client/Boundaries/Backend/Endpoints/BoundaryEndpoints.cs
Original file line number Diff line number Diff line change
@@ -1,71 +1,52 @@
using System.Text.Json;
using Backend.Utils;
using Boundaries;
using Microsoft.AspNetCore.Mvc;

namespace Backend.Endpoints;

public static class BoundaryEndpoints
{
public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, RdfoxApi.ConnectionSettings connectionSettings)
public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints)
{
#region Boundaries
//Update boundary
endpoints.MapPost("/commissioning-package/{packageId}/update-boundary/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/update-boundary/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, connectionSettings);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, connectionSettings);
var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, rdfoxApi);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isSelectedInternal)
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, rdfoxApi);

if (isBoundary)
{
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, rdfoxApi);
}
else
{
await QueryUtils.AddIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.AddIsBoundaryOf(packageId, nodeId, rdfoxApi);
}

return Results.Ok();
}).WithTags("Boundary");


// Add node as boundary
endpoints.MapPost("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var data = $@"
<{nodeId}> {PropertiesProvider.isBoundaryOf} <{packageId}> .";

await RdfoxApi.LoadData(connectionSettings, data);

return Results.Ok($"Triple with subject {packageId} and object {nodeId} inserted successfully.");
}).WithTags("Boundary");


// Remove node as boundary
endpoints.MapDelete("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapDelete("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -74,50 +55,50 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isBoundaryOf} <{packageId}> .
";

await RdfoxApi.DeleteData(connectionSettings, data);
await rdfoxApi.DeleteData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} deleted successfully.");
}).WithTags("Boundary");
#endregion

#region Internal
//Update selected internal
endpoints.MapPost("/commissioning-package/{packageId}/update-internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/update-internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, connectionSettings);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, connectionSettings);
var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, rdfoxApi);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isBoundary)
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isSelectedInternal)
{
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, rdfoxApi);
}
else
{
await QueryUtils.AddIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.AddIsSelectedInternalOf(packageId, nodeId, rdfoxApi);
}

return Results.Ok();
}).WithTags("Internal");


//Add node as internal
endpoints.MapPost("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -126,19 +107,19 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isInPackage} <{packageId}> .
";

await RdfoxApi.LoadData(connectionSettings, data);
await rdfoxApi.LoadData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} inserted successfully.");
}).WithTags("Internal");


// Remove node as internal
endpoints.MapDelete("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapDelete("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -147,21 +128,21 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isInPackage} <{packageId}> .
";

await RdfoxApi.DeleteData(connectionSettings, data);
await rdfoxApi.DeleteData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} deleted successfully.");
}).WithTags("Internal");
#endregion

#region Nodes
//Get adjacent nodes
endpoints.MapGet("/nodes/{nodeId}/adjacent", async (string nodeId) =>
endpoints.MapGet("/nodes/{nodeId}/adjacent", async (string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
nodeId = Uri.UnescapeDataString(nodeId);

var query = $@"SELECT ?neighbour WHERE {{ <{nodeId}> {PropertiesProvider.adjacentTo} ?neighbour }}";

var result = await RdfoxApi.QuerySparql(connectionSettings, query);
var result = await rdfoxApi.QuerySparql(query);

var adjacentNodes = new List<string>();

Expand Down
Loading
Loading