Compare commits

..

2 Commits

@ -1,6 +1,6 @@
kind: pipeline
type: docker
name: HeartTrack-Admin-CI
name: HeartTrack-Admin
trigger:
event:
@ -62,19 +62,19 @@ steps:
dockerfile: Sources/HeartTrack/Dockerfile
context: Sources/HeartTrack/
registry: hub.codefirst.iut.uca.fr
repo: hub.codefirst.iut.uca.fr/david.d_almeida/admin
repo: hub.codefirst.iut.uca.fr/antoine.perederii/Admin
username:
from_secret: SECRET_REGISTRY_USERNAME
password:
from_secret: SECRET_REGISTRY_PASSWORD
# database container admin
- name: deploy-container-admin
# database container stub
- name: deploy-container-stub
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
environment:
CODEFIRST_CLIENTDRONE_ENV_TYPE: ADMIN
IMAGENAME: hub.codefirst.iut.uca.fr/david.d_almeida/admin:latest
CONTAINERNAME: heart_track_admin
CODEFIRST_CLIENTDRONE_ENV_TYPE: STUB
IMAGENAME: hub.codefirst.iut.uca.fr/antoine.perederii/Admin:latest
CONTAINERNAME: heart_stub
COMMAND: create
ADMINS: davidd_almeida,kevinmonteiro,antoineperederii,paullevrault,antoinepinagot,nicolasraymond,marcchevaldonne
OVERWRITE: true

@ -1,20 +1,17 @@
# Utiliser l'image SDK .NET pour construire l'application
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app
# Copier les fichiers du projet et restaurer les dépendances
COPY *.csproj .
RUN dotnet restore
# Copier tout le reste et construire l'application
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /Sources/HeartTrack
COPY . .
RUN dotnet publish -c Release -o out
# Utiliser l'image runtime .NET pour exécuter l'application
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
WORKDIR /Sources/HeartTrack
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "HeartTrack.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
USER $APP_UID
WORKDIR /app
COPY --from=build /app/out .
COPY --from=build /app/publish .
EXPOSE 8080
ENTRYPOINT ["dotnet", "HeartTrack.dll"]
ENTRYPOINT ["dotnet", "HeartTrackAPI.dll"]

@ -15,7 +15,6 @@
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.1" />
<PackageReference Include="MudBlazor" Version="6.12.0" />
<PackageReference Include="xunit" Version="2.7.0" />
</ItemGroup>
<ItemGroup>

@ -6,7 +6,7 @@ namespace HeartTrack.Models
public class ReportModel
{
[Required]
[Range(0, 2500000)]
[Range(0, 121425711425541)]
public int Id { get; set; }
[Required]
[StringLength(50)]

@ -7,7 +7,7 @@ namespace HeartTrack.Models
public class TicketModel
{
[Required]
[Range(0, 2500000)]
[Range(0, 121425711425541)]
public int Id { get; set; }
[Required]

@ -6,7 +6,7 @@ namespace HeartTrack.Models
public class UserModel
{
[Required]
[Range(0,2500000)]
[Range(0,121425711425541)]
public int Id { get; set; }
[Required]

@ -33,10 +33,5 @@ namespace HeartTrack.Shared
this.NavigationManager.NavigateTo("/Culture/SetCulture" + query, forceLoad: true);
}
}
public int getSizeCultures()
{
return supportedCultures.Length;
}
}
}

@ -13,14 +13,13 @@ namespace HeartTrack.Shared
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
public void ToggleNavMenu()
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
public bool getCollapseNavMenu()
private void ToggleProfilMenu()
{
return this.collapseNavMenu;
}
}
}

@ -1,25 +0,0 @@
using HeartTrack.Controllers;
using Microsoft.AspNetCore.Mvc;
using Xunit;
namespace HeartTrack.Tests.Controller
{
public class CultureControllerTests
{
[Fact]
public void IsCultureControllerInstanceOfCultureController()
{
var culture = new CultureController();
Assert.IsType<CultureController>(culture);
}
[Fact]
public void IsSetCultureRedirecting()
{
var culture = new CultureController();
Assert.IsAssignableFrom<IActionResult>(culture.SetCulture("",""));
}
}
}

@ -1,37 +0,0 @@
using HeartTrack.Models;
using Xunit;
namespace HeartTrack.Tests.Models
{
public class ActivityTests
{
[Fact]
public void IsActivityInstanceOfActivity()
{
var activity = new Activity();
Assert.IsType<Activity>(activity);
}
[Fact]
public void HasActivityAttrivutesRightInstance()
{
var activity = new Activity();
Assert.IsType<int>(activity.IdActivity);
Assert.IsType<string>(activity.Type);
Assert.IsType<DateOnly>(activity.Date);
Assert.IsType<DateOnly>(activity.StartTime);
Assert.IsType<DateOnly>(activity.EndTime);
Assert.IsType<int>(activity.EffortRessenti);
Assert.IsType<float>(activity.Variability);
Assert.IsType<float>(activity.Variance);
Assert.IsType<float>(activity.StandardDeviation);
Assert.IsType<float>(activity.Average);
Assert.IsType<int>(activity.Maximum);
Assert.IsType<int>(activity.Minimum);
Assert.IsType<float>(activity.AvrTemperature);
Assert.IsType<bool>(activity.HasAutoPause);
}
}
}

@ -1,42 +0,0 @@
using Blazorise;
using HeartTrack.Models;
using Xunit;
namespace HeartTrack.Tests.Models
{
public class ReportTests
{
[Fact]
public void IsReportInstanceOfReport()
{
var report = new Report();
Assert.IsType<Report>(report);
}
[Fact]
public void HasReportAttributeRightInstace()
{
var report = new Report();
Assert.IsType<int>(report.Id);
Assert.IsType<string>(report.Username);
Assert.IsType<string>(report.ReportedUser);
Assert.IsType<string>(report.Raison);
Assert.IsType<string>(report.Description);
Assert.IsType<Image>(report.Image);
}
[Fact]
public void IsReportModelValidate()
{
var report = new ReportModel();
Assert.True(report.Id < 2500000);
Assert.True(report.Username.Length < 50 && report.Username.Length>0);
Assert.True(report.ReportedUser.Length < 50 && report.ReportedUser.Length > 0);
Assert.True(report.Raison.Length < 150 && report.Raison.Length > 0);
Assert.True(report.Description.Length < 500 && report.Description.Length > 0);
}
}
}

@ -1,40 +0,0 @@
using HeartTrack.Models;
using Xunit;
namespace HeartTrack.Tests.Models
{
public class TicketTests
{
[Fact]
public void IsTicketInstanceOfTicket()
{
var ticket = new Ticket();
Assert.IsType<Ticket>(ticket);
}
[Fact]
public void HasTicketAttributeRightInstance()
{
var ticket = new Ticket();
Assert.IsType<int>(ticket.Id);
Assert.IsType<string>(ticket.Username);
Assert.IsType<string>(ticket.Contexte);
Assert.IsType<string>(ticket.Description);
Assert.IsType<Boolean>(ticket.isCheck);
}
[Fact]
public void IsTicketModelValidate()
{
var ticket = new TicketModel();
Assert.True(ticket.Id < 2500000);
Assert.True(ticket.Username.Length > 0 && ticket.Username.Length < 50);
Assert.True(ticket.Contexte.Length > 0 && ticket.Contexte.Length < 25);
Assert.True(ticket.Description.Length > 0 && ticket.Description.Length < 500);
Assert.True(ticket.isCheck);
}
}
}

@ -1,52 +0,0 @@
using Xunit;
using HeartTrack.Models;
namespace HeartTrack.Tests.Models
{
public class UserTests
{
[Fact]
public void IsUserInstanceOfUser()
{
var user = new User();
Assert.IsType<User>(user);
}
[Fact]
public void HasUserAttributeRightInstance()
{
var user = new User();
Assert.IsType<int>(user.Id);
Assert.IsType<string>(user.Username);
Assert.IsType<string>(user.Nom);
Assert.IsType<string>(user.Prenom);
Assert.IsType<string>(user.Email);
Assert.IsType<string>(user.Password);
Assert.IsType<string>(user.Sexe);
Assert.IsType<float>(user.Taille);
Assert.IsType<float>(user.Poids);
Assert.IsType<DateTime>(user.BirthDate);
Assert.IsType<Boolean>(user.isBan);
}
[Fact]
public void IsUserModelValidate()
{
var user = new UserModel();
Assert.NotNull(user.Username);
Assert.NotNull(user.FirstName);
Assert.NotNull(user.LastName);
Assert.NotNull(user.Email);
Assert.NotNull(user.Password);
Assert.NotNull(user.Sexe);
Assert.True(user.Id<2500000);
Assert.True(user.Username.Length >= 0 && user.Username.Length < 50);
Assert.True(user.FirstName.Length >= 0 && user.FirstName.Length < 50);
Assert.True(user.LastName.Length >= 0 && user.LastName.Length < 25);
}
}
}

@ -1,24 +0,0 @@
using HeartTrack.Shared;
using Xunit;
namespace HeartTrack.Tests.Shared
{
public class CultureSelectorTests
{
[Fact]
public void IsCultureSelectorInstanceOfCultureSelector()
{
var culture = new CultureSelector();
Assert.IsType<CultureSelector>(culture);
}
[Fact]
public void HasCultureEnoughLanguages()
{
var culture = new CultureSelector();
Assert.Equal(2, culture.getSizeCultures());
}
}
}

@ -1,25 +0,0 @@
using HeartTrack.Shared;
using Xunit;
namespace HeartTrack.Tests.Shared
{
public class MainLayoutTests
{
[Fact]
public void IsMainLayoutInstanceOfMainLayout()
{
var main = new MainLayout();
Assert.IsType<MainLayout>(main);
}
[Fact]
public void StateChangeOnToggleNavMenu()
{
var main = new MainLayout();
Assert.True(main.getCollapseNavMenu());
main.ToggleNavMenu();
Assert.False(main.getCollapseNavMenu());
}
}
}
Loading…
Cancel
Save