From 571f9830ab040f52a7a600ea7d3de3b3bad7b952 Mon Sep 17 00:00:00 2001 From: Emric Pichonnier Date: Tue, 19 Jul 2022 09:43:05 +0200 Subject: [PATCH] feat: clean measurement (#265) --- apps/lenra/lib/app_channel_monitor.ex | 37 ------ apps/lenra/lib/lenra/accounts/password.ex | 4 +- apps/lenra/lib/lenra/application.ex | 4 +- apps/lenra/lib/lenra/db_schema/action_logs.ex | 37 ------ .../lib/lenra/db_schema/app_user_session.ex | 41 ------- .../db_schema/docker_run_measurements.ex | 29 ----- .../lib/lenra/db_schema/lenra_application.ex | 2 - .../openfaas_runaction_measurement.ex | 29 ----- .../lenra/db_schema/socket_app_measurement.ex | 28 ----- apps/lenra/lib/lenra/legal.ex | 1 - .../lib/lenra/services/action_logs_service.ex | 15 --- .../services/app_user_session_service.ex | 21 ---- .../lib/lenra/services/deployment_services.ex | 1 - .../docker_run_measurement_service.ex | 19 --- ...openfaas_runaction_measurement_services.ex | 19 --- .../lib/lenra/services/resources_services.ex | 2 +- .../socket_app_measurement_services.ex | 19 --- apps/lenra/lib/monitor.ex | 90 -------------- .../20220719071346_remove_monitoring.exs | 15 +++ .../db_schema/lenra_application_test.exs | 31 +---- .../services/action_logs_service_test.exs | 69 ----------- .../app_user_session_service_test.exs | 84 ------------- .../docker_run_measurement_service_test.exs | 115 ------------------ .../openfaas_measurement_services_test.exs | 100 --------------- .../socket_app_measurement_services_test.exs | 93 -------------- apps/lenra_web/lib/lenra_web/router.ex | 6 - 26 files changed, 21 insertions(+), 890 deletions(-) delete mode 100644 apps/lenra/lib/app_channel_monitor.ex delete mode 100644 apps/lenra/lib/lenra/db_schema/action_logs.ex delete mode 100644 apps/lenra/lib/lenra/db_schema/app_user_session.ex delete mode 100644 apps/lenra/lib/lenra/db_schema/docker_run_measurements.ex delete mode 100644 apps/lenra/lib/lenra/db_schema/openfaas_runaction_measurement.ex delete mode 100644 apps/lenra/lib/lenra/db_schema/socket_app_measurement.ex delete mode 100644 apps/lenra/lib/lenra/services/action_logs_service.ex delete mode 100644 apps/lenra/lib/lenra/services/app_user_session_service.ex delete mode 100644 apps/lenra/lib/lenra/services/docker_run_measurement_service.ex delete mode 100644 apps/lenra/lib/lenra/services/openfaas_runaction_measurement_services.ex delete mode 100644 apps/lenra/lib/lenra/services/socket_app_measurement_services.ex delete mode 100644 apps/lenra/lib/monitor.ex create mode 100644 apps/lenra/priv/repo/migrations/20220719071346_remove_monitoring.exs delete mode 100644 apps/lenra/test/lenra/services/action_logs_service_test.exs delete mode 100644 apps/lenra/test/lenra/services/app_user_session_service_test.exs delete mode 100644 apps/lenra/test/lenra/services/docker_run_measurement_service_test.exs delete mode 100644 apps/lenra/test/lenra/services/openfaas_measurement_services_test.exs delete mode 100644 apps/lenra/test/lenra/services/socket_app_measurement_services_test.exs diff --git a/apps/lenra/lib/app_channel_monitor.ex b/apps/lenra/lib/app_channel_monitor.ex deleted file mode 100644 index d3c57ed4..00000000 --- a/apps/lenra/lib/app_channel_monitor.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule AppChannelMonitor do - @moduledoc """ - The app_channel monitor which monitors the time spent by the client on an app - """ - - use GenServer - - alias Lenra.Telemetry - - def monitor(pid, metadata) do - GenServer.call(__MODULE__, {:monitor, pid, metadata}) - end - - def start_link(_opts) do - GenServer.start_link(__MODULE__, [], name: __MODULE__) - end - - def init(_opts) do - {:ok, %{}} - end - - def handle_call({:monitor, pid, metadata}, _from, state) do - Process.monitor(pid) - - start_time = Telemetry.start(:app_user_session, metadata) - - {:reply, :ok, Map.put(state, pid, {start_time, metadata})} - end - - def handle_info({:DOWN, _ref, :process, pid, _reason}, state) do - {{start_time, metadata}, new_state} = Map.pop(state, pid) - - Telemetry.stop(:app_user_session, start_time, metadata) - - {:noreply, new_state} - end -end diff --git a/apps/lenra/lib/lenra/accounts/password.ex b/apps/lenra/lib/lenra/accounts/password.ex index 631f2f2c..a0d90700 100644 --- a/apps/lenra/lib/lenra/accounts/password.ex +++ b/apps/lenra/lib/lenra/accounts/password.ex @@ -3,8 +3,10 @@ defmodule Lenra.Accounts.Password do The password_save shema. """ use Lenra.Schema + import Ecto.Changeset - alias Lenra.User + + alias Lenra.Accounts.User @password_regex ~r/(?=.*[a-z])(?=.*[A-Z])(?=.*\W)/ diff --git a/apps/lenra/lib/lenra/application.ex b/apps/lenra/lib/lenra/application.ex index 944cf243..ceaa12b5 100644 --- a/apps/lenra/lib/lenra/application.ex +++ b/apps/lenra/lib/lenra/application.ex @@ -8,7 +8,6 @@ defmodule Lenra.Application do def start(_type, _args) do Lenra.MigrationHelper.migrate() - Lenra.Monitor.setup() children = [ # Start the ecto repository @@ -36,8 +35,7 @@ defmodule Lenra.Application do }}, id: :finch_gitlab_http ), - {Cluster.Supervisor, [Application.get_env(:libcluster, :topologies), [name: Lenra.ClusterSupervisor]]}, - AppChannelMonitor + {Cluster.Supervisor, [Application.get_env(:libcluster, :topologies), [name: Lenra.ClusterSupervisor]]} ] # See https://hexdocs.pm/elixir/Supervisor.html diff --git a/apps/lenra/lib/lenra/db_schema/action_logs.ex b/apps/lenra/lib/lenra/db_schema/action_logs.ex deleted file mode 100644 index 6f939720..00000000 --- a/apps/lenra/lib/lenra/db_schema/action_logs.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule Lenra.ActionLogs do - @moduledoc """ - The ActionLogs schema. - """ - - use Lenra.Schema - import Ecto.Changeset - - alias Lenra.{ - ActionLogs, - AppUserSession, - DockerRunMeasurement, - OpenfaasRunActionMeasurement - } - - schema "action_logs" do - field(:uuid, :binary_id, primary_key: true) - field(:action, :string) - belongs_to(:app_user_session, AppUserSession, foreign_key: :app_user_session_uuid, type: :binary_id) - has_one(:openfaas_runaction_measurements, OpenfaasRunActionMeasurement, foreign_key: :action_logs_uuid) - has_one(:docker_run_measurements, DockerRunMeasurement, foreign_key: :action_logs_uuid) - - timestamps() - end - - def changeset(action, params \\ %{}) do - action - |> cast(params, [:uuid, :action]) - |> validate_required([:uuid, :app_user_session_uuid, :action]) - |> foreign_key_constraint(:app_user_session_uuid) - end - - def new(params) do - %ActionLogs{app_user_session_uuid: params.app_user_session_uuid} - |> ActionLogs.changeset(params) - end -end diff --git a/apps/lenra/lib/lenra/db_schema/app_user_session.ex b/apps/lenra/lib/lenra/db_schema/app_user_session.ex deleted file mode 100644 index 43905d33..00000000 --- a/apps/lenra/lib/lenra/db_schema/app_user_session.ex +++ /dev/null @@ -1,41 +0,0 @@ -defmodule Lenra.AppUserSession do - @moduledoc """ - The app session measurements schema. - """ - - use Lenra.Schema - import Ecto.Changeset - - alias Lenra.{ - ActionLogs, - AppUserSession, - LenraApplication, - SocketAppMeasurement - } - - alias Lenra.Accounts.User - - schema "app_user_session" do - field(:uuid, :binary_id, primary_key: true) - belongs_to(:user, User) - belongs_to(:application, LenraApplication) - field(:build_number, :integer) - has_one(:socket_app_measurement, SocketAppMeasurement, foreign_key: :app_user_session_uuid) - has_many(:action_logs, ActionLogs, foreign_key: :app_user_session_uuid) - - timestamps() - end - - def changeset(app_user_session, params \\ %{}) do - app_user_session - |> cast(params, [:uuid, :user_id, :application_id, :build_number]) - |> validate_required([:uuid, :user_id, :application_id, :build_number]) - |> foreign_key_constraint(:user_id) - |> foreign_key_constraint(:application_id) - end - - def new(params) do - %AppUserSession{} - |> AppUserSession.changeset(params) - end -end diff --git a/apps/lenra/lib/lenra/db_schema/docker_run_measurements.ex b/apps/lenra/lib/lenra/db_schema/docker_run_measurements.ex deleted file mode 100644 index eef373a4..00000000 --- a/apps/lenra/lib/lenra/db_schema/docker_run_measurements.ex +++ /dev/null @@ -1,29 +0,0 @@ -defmodule Lenra.DockerRunMeasurement do - @moduledoc """ - The openfaas measurements schema. - """ - - use Lenra.Schema - import Ecto.Changeset - - alias Lenra.{ActionLogs, DockerRunMeasurement} - - schema "docker_run_measurements" do - field(:ui_duration, :integer) - field(:listeners_duration, :integer) - belongs_to(:action_logs, ActionLogs, foreign_key: :action_logs_uuid, type: :binary_id) - - timestamps() - end - - def changeset(measurement, params \\ %{}) do - measurement - |> cast(params, [:ui_duration, :listeners_duration, :action_logs_uuid]) - |> validate_required([:action_logs_uuid, :ui_duration, :listeners_duration]) - |> foreign_key_constraint(:action_logs_uuid) - end - - def new(params) do - DockerRunMeasurement.changeset(%DockerRunMeasurement{}, params) - end -end diff --git a/apps/lenra/lib/lenra/db_schema/lenra_application.ex b/apps/lenra/lib/lenra/db_schema/lenra_application.ex index ce64fe58..2e5a972a 100644 --- a/apps/lenra/lib/lenra/db_schema/lenra_application.ex +++ b/apps/lenra/lib/lenra/db_schema/lenra_application.ex @@ -8,7 +8,6 @@ defmodule Lenra.LenraApplication do alias Lenra.{ ApplicationMainEnv, - AppUserSession, Build, Environment, LenraApplication @@ -36,7 +35,6 @@ defmodule Lenra.LenraApplication do has_many(:environments, Environment, foreign_key: :application_id) has_many(:builds, Build, foreign_key: :application_id) has_one(:main_env, ApplicationMainEnv, foreign_key: :application_id) - has_many(:app_user_session, AppUserSession, foreign_key: :application_id) timestamps() end diff --git a/apps/lenra/lib/lenra/db_schema/openfaas_runaction_measurement.ex b/apps/lenra/lib/lenra/db_schema/openfaas_runaction_measurement.ex deleted file mode 100644 index 7bc3ec1a..00000000 --- a/apps/lenra/lib/lenra/db_schema/openfaas_runaction_measurement.ex +++ /dev/null @@ -1,29 +0,0 @@ -defmodule Lenra.OpenfaasRunActionMeasurement do - @moduledoc """ - The openfaas measurements schema. - """ - - use Lenra.Schema - import Ecto.Changeset - - alias Lenra.{ActionLogs, OpenfaasRunActionMeasurement} - - schema "openfaas_runaction_measurements" do - field(:duration, :integer) - belongs_to(:action_logs, ActionLogs, foreign_key: :action_logs_uuid, type: :binary_id) - - timestamps() - end - - def changeset(measurement, params \\ %{}) do - measurement - |> cast(params, [:duration]) - |> validate_required([:action_logs_uuid, :duration]) - |> foreign_key_constraint(:action_logs_uuid) - end - - def new(params) do - %OpenfaasRunActionMeasurement{action_logs_uuid: params.action_logs_uuid} - |> OpenfaasRunActionMeasurement.changeset(params) - end -end diff --git a/apps/lenra/lib/lenra/db_schema/socket_app_measurement.ex b/apps/lenra/lib/lenra/db_schema/socket_app_measurement.ex deleted file mode 100644 index 71f0e1e7..00000000 --- a/apps/lenra/lib/lenra/db_schema/socket_app_measurement.ex +++ /dev/null @@ -1,28 +0,0 @@ -defmodule Lenra.SocketAppMeasurement do - @moduledoc """ - The client's applications measurements schema. - """ - - use Lenra.Schema - import Ecto.Changeset - - alias Lenra.{AppUserSession, SocketAppMeasurement} - - schema "socket_app_measurements" do - field(:duration, :integer) - belongs_to(:app_user_session, AppUserSession, foreign_key: :app_user_session_uuid, type: :binary_id) - timestamps() - end - - def changeset(measurement, params \\ %{}) do - measurement - |> cast(params, [:duration]) - |> validate_required([:app_user_session_uuid, :duration]) - |> foreign_key_constraint(:app_user_session_uuid) - end - - def new(params) do - %SocketAppMeasurement{app_user_session_uuid: params.app_user_session_uuid} - |> SocketAppMeasurement.changeset(params) - end -end diff --git a/apps/lenra/lib/lenra/legal.ex b/apps/lenra/lib/lenra/legal.ex index 96832dfa..58fd3d42 100644 --- a/apps/lenra/lib/lenra/legal.ex +++ b/apps/lenra/lib/lenra/legal.ex @@ -8,7 +8,6 @@ defmodule Lenra.Legal do import Ecto.Query, only: [from: 2, select: 3] - alias Lenra.User alias Lenra.Legal.{CGU, UserAcceptCGUVersion} alias Lenra.Repo diff --git a/apps/lenra/lib/lenra/services/action_logs_service.ex b/apps/lenra/lib/lenra/services/action_logs_service.ex deleted file mode 100644 index 1389bd8c..00000000 --- a/apps/lenra/lib/lenra/services/action_logs_service.ex +++ /dev/null @@ -1,15 +0,0 @@ -defmodule Lenra.ActionLogsService do - @moduledoc """ - The service that manages the openfaas measurements. - """ - alias Lenra.{ActionLogs, Repo} - require Logger - - def get_by(clauses) do - Repo.get_by(ActionLogs, clauses) - end - - def create(params) do - Repo.insert(ActionLogs.new(params)) - end -end diff --git a/apps/lenra/lib/lenra/services/app_user_session_service.ex b/apps/lenra/lib/lenra/services/app_user_session_service.ex deleted file mode 100644 index 0d69213b..00000000 --- a/apps/lenra/lib/lenra/services/app_user_session_service.ex +++ /dev/null @@ -1,21 +0,0 @@ -defmodule Lenra.AppUserSessionService do - @moduledoc """ - The service that manages the client's applications measurements. - """ - alias Lenra.{AppUserSession, LenraApplicationServices, Repo} - require Logger - - def get_by(clauses) do - Repo.get_by(AppUserSession, clauses) - end - - def create(user_id, params) do - case LenraApplicationServices.fetch_by(%{service_name: params.service_name}) do - {:ok, app} -> - Repo.insert(AppUserSession.new(Enum.into(params, %{user_id: user_id, application_id: app.id}))) - - {:error, error} -> - {:error, error} - end - end -end diff --git a/apps/lenra/lib/lenra/services/deployment_services.ex b/apps/lenra/lib/lenra/services/deployment_services.ex index e6f7eddf..ad029a77 100644 --- a/apps/lenra/lib/lenra/services/deployment_services.ex +++ b/apps/lenra/lib/lenra/services/deployment_services.ex @@ -7,7 +7,6 @@ defmodule Lenra.DeploymentServices do BuildServices, Deployment, EnvironmentServices, - LenraApplication, OpenfaasServices, Repo } diff --git a/apps/lenra/lib/lenra/services/docker_run_measurement_service.ex b/apps/lenra/lib/lenra/services/docker_run_measurement_service.ex deleted file mode 100644 index a64ed6f0..00000000 --- a/apps/lenra/lib/lenra/services/docker_run_measurement_service.ex +++ /dev/null @@ -1,19 +0,0 @@ -defmodule Lenra.DockerRunMeasurementServices do - @moduledoc """ - The service that manages the client's applications measurements. - """ - alias Lenra.{DockerRunMeasurement, Repo} - require Logger - - def get(id) do - Repo.get(DockerRunMeasurement, id) - end - - def get_by(clauses) do - Repo.get_by(DockerRunMeasurement, clauses) - end - - def create(params) do - Repo.insert(DockerRunMeasurement.new(params)) - end -end diff --git a/apps/lenra/lib/lenra/services/openfaas_runaction_measurement_services.ex b/apps/lenra/lib/lenra/services/openfaas_runaction_measurement_services.ex deleted file mode 100644 index b3c7b903..00000000 --- a/apps/lenra/lib/lenra/services/openfaas_runaction_measurement_services.ex +++ /dev/null @@ -1,19 +0,0 @@ -defmodule Lenra.OpenfaasRunActionMeasurementServices do - @moduledoc """ - The service that manages the openfaas measurements. - """ - alias Lenra.{OpenfaasRunActionMeasurement, Repo} - require Logger - - def get(id) do - Repo.get(OpenfaasRunActionMeasurement, id) - end - - def get_by(clauses) do - Repo.get_by(OpenfaasRunActionMeasurement, clauses) - end - - def create(params) do - Repo.insert(OpenfaasRunActionMeasurement.new(params)) - end -end diff --git a/apps/lenra/lib/lenra/services/resources_services.ex b/apps/lenra/lib/lenra/services/resources_services.ex index 32c0b866..030c05ed 100644 --- a/apps/lenra/lib/lenra/services/resources_services.ex +++ b/apps/lenra/lib/lenra/services/resources_services.ex @@ -3,7 +3,7 @@ defmodule Lenra.ResourcesServices do The service that manages resources of lenra applications. """ alias ApplicationRunner.OpenfaasServices - alias Lenra.{LenraApplication, LenraApplicationServices, Repo} + alias Lenra.{LenraApplicationServices, Repo} require Logger @doc """ diff --git a/apps/lenra/lib/lenra/services/socket_app_measurement_services.ex b/apps/lenra/lib/lenra/services/socket_app_measurement_services.ex deleted file mode 100644 index 496a900a..00000000 --- a/apps/lenra/lib/lenra/services/socket_app_measurement_services.ex +++ /dev/null @@ -1,19 +0,0 @@ -defmodule Lenra.SocketAppMeasurementServices do - @moduledoc """ - The service that manages the client's applications measurements. - """ - alias Lenra.{Repo, SocketAppMeasurement} - require Logger - - def get(id) do - Repo.get(SocketAppMeasurement, id) - end - - def get_by(clauses) do - Repo.get_by(SocketAppMeasurement, clauses) - end - - def create(params) do - Repo.insert(SocketAppMeasurement.new(params)) - end -end diff --git a/apps/lenra/lib/monitor.ex b/apps/lenra/lib/monitor.ex deleted file mode 100644 index c18dda4f..00000000 --- a/apps/lenra/lib/monitor.ex +++ /dev/null @@ -1,90 +0,0 @@ -defmodule Lenra.Monitor do - @moduledoc """ - This module is monitoring requests at different places - - Lenra's monitor executes the following events: - - * `[:lenra, :openfaas_action, :start]` - Executed before an openfaas action. - - #### Measurements - - * No need for any measurement. - - #### Metadata - - * No need for any metadata. - - * `[:lenra, :openfaas_action, :stop]` - Executed after an openfaas action. - - #### Measurements - - * `:duration` - The time took by the openfaas action in `:native` unit of time. - - #### Metadata - - * `:user_id` - The id of the user who executed the action. - * `:application_name` - The name of the application from which the action was executed. - - """ - - alias Lenra.{ - ActionLogsService, - AppUserSessionService, - DockerRunMeasurementServices, - OpenfaasRunActionMeasurementServices, - SocketAppMeasurementServices - } - - def setup do - events = [ - [:lenra, :openfaas_runaction, :stop], - [:lenra, :action_logs, :event], - [:lenra, :docker_run, :event], - [:lenra, :app_user_session, :start], - [:lenra, :app_user_session, :stop] - ] - - :telemetry.attach_many("lenra.monitor", events, &Lenra.Monitor.handle_event/4, nil) - end - - def handle_event([:lenra, :openfaas_runaction, :stop], measurements, metadata, _config) do - OpenfaasRunActionMeasurementServices.create(%{ - action_logs_uuid: metadata.uuid, - duration: System.convert_time_unit(measurements.duration, :native, :nanosecond) - }) - end - - def handle_event([:lenra, :docker_run, :event], measurements, metadata, _config) do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: metadata.uuid, - ui_duration: measurements.uiDuration, - listeners_duration: measurements.listenersTime - }) - end - - def handle_event([:lenra, :action_logs, :event], _measurements, metadata, _config) do - ActionLogsService.create(%{ - uuid: metadata.uuid, - app_user_session_uuid: metadata.app_user_session_uuid, - action: metadata.action - }) - end - - def handle_event([:lenra, :app_user_session, :start], _measurements, metadata, _config) do - AppUserSessionService.create(metadata.user_id, %{ - uuid: metadata.app_user_session_uuid, - service_name: metadata.service_name, - build_number: metadata.build_number - }) - end - - def handle_event([:lenra, :app_user_session, :stop], measurements, metadata, _config) do - SocketAppMeasurementServices.create(%{ - app_user_session_uuid: metadata.app_user_session_uuid, - duration: System.convert_time_unit(measurements.duration, :native, :nanosecond) - }) - end - - def handle_event(_event, _measurements, _metadata, _config) do - end -end diff --git a/apps/lenra/priv/repo/migrations/20220719071346_remove_monitoring.exs b/apps/lenra/priv/repo/migrations/20220719071346_remove_monitoring.exs new file mode 100644 index 00000000..1ea3d701 --- /dev/null +++ b/apps/lenra/priv/repo/migrations/20220719071346_remove_monitoring.exs @@ -0,0 +1,15 @@ +defmodule Lenra.Repo.Migrations.RemoveMonitoring do + use Ecto.Migration + + def change do + drop(table(:socket_app_measurements)) + + drop(table(:docker_run_measurements)) + + drop(table(:openfaas_runaction_measurements)) + + drop(table(:action_logs)) + + drop(table(:app_user_session)) + end +end diff --git a/apps/lenra/test/lenra/db_schema/lenra_application_test.exs b/apps/lenra/test/lenra/db_schema/lenra_application_test.exs index 2cd39e9a..126eebc3 100644 --- a/apps/lenra/test/lenra/db_schema/lenra_application_test.exs +++ b/apps/lenra/test/lenra/db_schema/lenra_application_test.exs @@ -1,7 +1,7 @@ defmodule Lenra.LenraApplicationTest do use Lenra.RepoCase, async: true - alias Lenra.{AppUserSession, LenraApplication} + alias Lenra.LenraApplication @valide_data %{name: "Test", color: "FF0000", icon: 1111, repository: "repository"} @invalide_data %{name: nil, color: nil, icon: nil, repository: nil} @@ -18,34 +18,5 @@ defmodule Lenra.LenraApplicationTest do test "new/2 with invalid data creates a lenra_application" do assert %{changes: _app, valid?: false} = LenraApplication.new(1, @invalide_data) end - - test "attached to app_user_session should succed" do - # Create user - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - - # Create and insert lenra_application - app = LenraApplication.new(user.id, @valide_data) - {:ok, %LenraApplication{} = inserted_app} = Repo.insert(app) - - # Test create and insert app_user_session - session_uuid = Ecto.UUID.generate() - - session = - AppUserSession.new(%{ - uuid: session_uuid, - user_id: user.id, - application_id: inserted_app.id, - build_number: 1 - }) - - assert %{valid?: true} = session - - {:ok, %AppUserSession{} = inserted_session} = Repo.insert(session) - loaded_inserted_session = Repo.preload(inserted_session, :application) - assert loaded_inserted_session.application == inserted_app - - [head | _tail] = Repo.all(Ecto.assoc(inserted_app, :app_user_session)) - assert head == inserted_session - end end end diff --git a/apps/lenra/test/lenra/services/action_logs_service_test.exs b/apps/lenra/test/lenra/services/action_logs_service_test.exs deleted file mode 100644 index fe783ec2..00000000 --- a/apps/lenra/test/lenra/services/action_logs_service_test.exs +++ /dev/null @@ -1,69 +0,0 @@ -defmodule Lenra.ActionLogsServiceTest do - use Lenra.RepoCase, async: true - alias Lenra.{ActionLogs, ActionLogsService, AppUserSessionService, LenraApplication} - - setup do - {:ok, app_session: create_app_user_session()} - end - - defp create_app_user_session do - app_session_uuid = Ecto.UUID.generate() - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - {:ok, app} = create_app(user.id) - - AppUserSessionService.create(user.id, %{ - service_name: app.service_name, - uuid: app_session_uuid, - build_number: 1 - }) - - app_session_uuid - end - - defp create_app(user_id) do - Repo.insert(LenraApplication.new(user_id, %{name: "test", color: "FF0000", icon: 0xEB09})) - end - - describe "ActionLogsService.create_1/1" do - test "create successfully if parameters valid", %{app_session: app_session} do - action_uuid = Ecto.UUID.generate() - - ActionLogsService.create(%{uuid: action_uuid, app_user_session_uuid: app_session, action: "Test"}) - - tmp_measurement = Enum.at(Repo.all(ActionLogs), 0) - - assert tmp_measurement.uuid == action_uuid - end - - test "create failure if parameters invalid" do - action_uuid = Ecto.UUID.generate() - ActionLogsService.create(%{uuid: action_uuid, app_user_session_uuid: action_uuid, action: "Test"}) - - tmp_measurement = Enum.at(Repo.all(ActionLogs), 0) - - assert is_nil(tmp_measurement) == true - end - end - - describe "ActionLogsService.get_by_1/1" do - test "should return user if clauses is valid", %{app_session: app_session} do - action_uuid = Ecto.UUID.generate() - - ActionLogsService.create(%{uuid: action_uuid, app_user_session_uuid: app_session, action: "Test"}) - - measurement = ActionLogsService.get_by(%{uuid: action_uuid}) - - assert measurement.uuid == action_uuid - end - - test "should return nil if clauses is invalid", %{app_session: app_session} do - action_uuid = Ecto.UUID.generate() - - ActionLogsService.create(%{uuid: action_uuid, app_user_session_uuid: app_session, action: "Test"}) - - measurement = ActionLogsService.get_by(%{uuid: app_session}) - - assert is_nil(measurement) == true - end - end -end diff --git a/apps/lenra/test/lenra/services/app_user_session_service_test.exs b/apps/lenra/test/lenra/services/app_user_session_service_test.exs deleted file mode 100644 index b2bafd94..00000000 --- a/apps/lenra/test/lenra/services/app_user_session_service_test.exs +++ /dev/null @@ -1,84 +0,0 @@ -defmodule Lenra.AppUserSessionServiceTest do - use Lenra.RepoCase, async: true - - alias Lenra.{ - AppUserSession, - AppUserSessionService, - LenraApplication - } - - setup do - {:ok, create_user()} - end - - defp create_user do - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - {:ok, app} = create_app(user.id) - - %{user_id: user.id, app: app} - end - - defp create_app(user_id) do - Repo.insert(LenraApplication.new(user_id, %{name: "test", color: "FF0000", icon: 0xEB09})) - end - - describe "AppUserSessionService.create_1/1" do - test "create successfully if parameters valid", %{user_id: user_id, app: app} do - app_user_session_uuid = Ecto.UUID.generate() - - AppUserSessionService.create(user_id, %{ - uuid: app_user_session_uuid, - service_name: app.service_name, - build_number: 1 - }) - - tmp_measurement = Enum.at(Repo.all(AppUserSession), 0) - - assert tmp_measurement.uuid == app_user_session_uuid - end - - test "create failure if parameters invalid", %{user_id: user_id, app: _app} do - app_user_session_uuid = Ecto.UUID.generate() - - AppUserSessionService.create(user_id, %{ - uuid: app_user_session_uuid, - service_name: Ecto.UUID.generate(), - build_number: 1 - }) - - tmp_measurement = Enum.at(Repo.all(AppUserSession), 0) - - assert is_nil(tmp_measurement) == true - end - end - - describe "AppUserSessionService.get_by_1/1" do - test "should return AppUserSession if clauses is valid", %{user_id: user_id, app: app} do - app_user_session_uuid = Ecto.UUID.generate() - - AppUserSessionService.create(user_id, %{ - uuid: app_user_session_uuid, - service_name: app.service_name, - build_number: 1 - }) - - measurement = AppUserSessionService.get_by(%{uuid: app_user_session_uuid}) - - assert measurement.uuid == app_user_session_uuid - end - - test "should return nil if clauses is invalid", %{user_id: user_id, app: app} do - app_user_session_uuid = Ecto.UUID.generate() - - AppUserSessionService.create(user_id, %{ - uuid: app_user_session_uuid, - service_name: app.service_name, - build_number: 1 - }) - - measurement = AppUserSessionService.get_by(%{uuid: Ecto.UUID.generate()}) - - assert is_nil(measurement) == true - end - end -end diff --git a/apps/lenra/test/lenra/services/docker_run_measurement_service_test.exs b/apps/lenra/test/lenra/services/docker_run_measurement_service_test.exs deleted file mode 100644 index e32840c2..00000000 --- a/apps/lenra/test/lenra/services/docker_run_measurement_service_test.exs +++ /dev/null @@ -1,115 +0,0 @@ -defmodule Lenra.DockerRunMeasurementServicesTest do - use Lenra.RepoCase, async: true - - alias Lenra.{ - ActionLogsService, - AppUserSessionService, - DockerRunMeasurement, - DockerRunMeasurementServices, - LenraApplication - } - - setup do - {:ok, action_logs_uuid: create_app_user_session()} - end - - defp create_app_user_session do - app_session_uuid = Ecto.UUID.generate() - action_logs_uuid = Ecto.UUID.generate() - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - - {:ok, app} = Repo.insert(LenraApplication.new(user.id, %{name: "test", color: "FF0000", icon: 0xEB09})) - - AppUserSessionService.create(user.id, %{ - service_name: app.service_name, - uuid: app_session_uuid, - build_number: 1 - }) - - ActionLogsService.create(%{uuid: action_logs_uuid, app_user_session_uuid: app_session_uuid, action: "Test"}) - - action_logs_uuid - end - - describe "DockerRunMeasurementServices.create_1/1" do - test "create successfully if parameters valid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - ui_duration: 111_111, - listeners_duration: 111_111 - }) - - tmp_measurement = Enum.at(Repo.all(DockerRunMeasurement), 0) - - assert tmp_measurement.action_logs_uuid == action_logs_uuid - end - - test "create failure if parameters invalid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - listeners_duration: 111_111 - }) - - tmp_measurement = Enum.at(Repo.all(DockerRunMeasurement), 0) - - assert is_nil(tmp_measurement) == true - end - end - - describe "DockerRunMeasurementServices.get_1/1" do - test "should return user if the id is valid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - ui_duration: 111_111, - listeners_duration: 111_111 - }) - - tmp_measurement = Enum.at(Repo.all(DockerRunMeasurement), 0) - - measurement = DockerRunMeasurementServices.get(tmp_measurement.id) - - assert measurement.action_logs_uuid == action_logs_uuid - assert measurement == tmp_measurement - end - - test "should return nil if the id is invalid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - ui_duration: 111_111, - listeners_duration: 111_111 - }) - - tmp_measurement = Enum.at(Repo.all(DockerRunMeasurement), 0) - - measurement = DockerRunMeasurementServices.get(tmp_measurement.id + 1) - - assert is_nil(measurement) == true - end - end - - describe "DockerRunMeasurementServices.get_by_1/1" do - test "should return user if clauses is valid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - ui_duration: 111_111, - listeners_duration: 111_111 - }) - - measurement = DockerRunMeasurementServices.get_by(%{action_logs_uuid: action_logs_uuid}) - - assert measurement.action_logs_uuid == action_logs_uuid - end - - test "should return nil if clauses is invalid", %{action_logs_uuid: action_logs_uuid} do - DockerRunMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - ui_duration: 111_111, - listeners_duration: 111_111 - }) - - measurement = DockerRunMeasurementServices.get_by(%{action_logs_uuid: Ecto.UUID.generate()}) - - assert is_nil(measurement) == true - end - end -end diff --git a/apps/lenra/test/lenra/services/openfaas_measurement_services_test.exs b/apps/lenra/test/lenra/services/openfaas_measurement_services_test.exs deleted file mode 100644 index 695b56f5..00000000 --- a/apps/lenra/test/lenra/services/openfaas_measurement_services_test.exs +++ /dev/null @@ -1,100 +0,0 @@ -defmodule Lenra.OpenfaasMeasurementServicesTest do - @moduledoc """ - Test the openfaas measurement services - """ - use Lenra.RepoCase, async: true - - alias Lenra.{ - ActionLogsService, - AppUserSessionService, - LenraApplication, - OpenfaasRunActionMeasurement, - OpenfaasRunActionMeasurementServices - } - - setup do - {:ok, action_logs_uuid: create_app_user_session()} - end - - defp create_app_user_session do - app_session_uuid = Ecto.UUID.generate() - action_logs_uuid = Ecto.UUID.generate() - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - - {:ok, app} = Repo.insert(LenraApplication.new(user.id, %{name: "test", color: "FF0000", icon: 0xEB09})) - - AppUserSessionService.create(user.id, %{ - service_name: app.service_name, - uuid: app_session_uuid, - build_number: 1 - }) - - ActionLogsService.create(%{ - uuid: action_logs_uuid, - app_user_session_uuid: app_session_uuid, - action: "Test" - }) - - action_logs_uuid - end - - describe "get" do - test "measurement successfully", %{action_logs_uuid: action_logs_uuid} do - OpenfaasRunActionMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - duration: 1 - }) - - tmp_measurement = Enum.at(Repo.all(OpenfaasRunActionMeasurement), 0) - - measurement = OpenfaasRunActionMeasurementServices.get(tmp_measurement.id) - - assert measurement == tmp_measurement - - assert %OpenfaasRunActionMeasurement{duration: 1} = measurement - - assert measurement.action_logs_uuid == action_logs_uuid - end - - test "measurement which does not exist", %{action_logs_uuid: _action_logs_uuid} do - assert nil == OpenfaasRunActionMeasurementServices.get(0) - end - end - - describe "get_by" do - test "measurement succesfully", %{action_logs_uuid: action_logs_uuid} do - OpenfaasRunActionMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - duration: 1 - }) - - tmp_measurement = Enum.at(Repo.all(OpenfaasRunActionMeasurement), 0) - measurement = OpenfaasRunActionMeasurementServices.get_by(duration: 1) - - assert tmp_measurement == measurement - - assert %OpenfaasRunActionMeasurement{duration: 1} = measurement - - assert measurement.action_logs_uuid == action_logs_uuid - end - - test "measurement which does not exist", %{action_logs_uuid: _action_logs_uuid} do - assert nil == OpenfaasRunActionMeasurementServices.get_by(duration: 1) - end - end - - describe "create" do - test "measurement successfully", %{action_logs_uuid: action_logs_uuid} do - OpenfaasRunActionMeasurementServices.create(%{ - action_logs_uuid: action_logs_uuid, - duration: 1 - }) - - measurement = Enum.at(Repo.all(OpenfaasRunActionMeasurement), 0) - - assert %OpenfaasRunActionMeasurement{duration: 1} = measurement - - assert measurement.action_logs_uuid == action_logs_uuid - end - end -end diff --git a/apps/lenra/test/lenra/services/socket_app_measurement_services_test.exs b/apps/lenra/test/lenra/services/socket_app_measurement_services_test.exs deleted file mode 100644 index 1f001814..00000000 --- a/apps/lenra/test/lenra/services/socket_app_measurement_services_test.exs +++ /dev/null @@ -1,93 +0,0 @@ -defmodule Lenra.SocketAppMeasurementServicesTest do - @moduledoc """ - Test the client app measurement services - """ - use Lenra.RepoCase, async: true - - alias Lenra.{ - AppUserSessionService, - LenraApplication, - SocketAppMeasurement, - SocketAppMeasurementServices - } - - setup do - {:ok, app_session: create_app_user_session()} - end - - defp create_app_user_session do - app_session_uuid = Ecto.UUID.generate() - - {:ok, %{inserted_user: user}} = UserTestHelper.register_john_doe() - - {:ok, app} = Repo.insert(LenraApplication.new(user.id, %{name: "test", color: "FF0000", icon: 0xEB09})) - - AppUserSessionService.create(user.id, %{ - service_name: app.service_name, - uuid: app_session_uuid, - build_number: 1 - }) - - app_session_uuid - end - - describe "get" do - test "measurement successfully", %{app_session: app_session} do - SocketAppMeasurementServices.create(%{ - duration: 1, - app_user_session_uuid: app_session - }) - - tmp_measurement = Enum.at(Repo.all(SocketAppMeasurement), 0) - - measurement = SocketAppMeasurementServices.get(tmp_measurement.id) - - assert measurement == tmp_measurement - - assert %SocketAppMeasurement{duration: 1} = measurement - - assert measurement.app_user_session_uuid == app_session - end - - test "measurement which does not exist", %{app_session: _app_session} do - assert nil == SocketAppMeasurementServices.get(0) - end - end - - describe "get_by" do - test "measurement succesfully", %{app_session: app_session} do - SocketAppMeasurementServices.create(%{ - duration: 1, - app_user_session_uuid: app_session - }) - - tmp_measurement = Enum.at(Repo.all(SocketAppMeasurement), 0) - measurement = SocketAppMeasurementServices.get_by(duration: 1) - - assert tmp_measurement == measurement - - assert %SocketAppMeasurement{duration: 1} = measurement - - assert measurement.app_user_session_uuid == app_session - end - - test "measurement which does not exist", %{app_session: _app_session} do - assert nil == SocketAppMeasurementServices.get_by(duration: 1) - end - end - - describe "create" do - test "measurement successfully", %{app_session: app_session} do - SocketAppMeasurementServices.create(%{ - duration: 1, - app_user_session_uuid: app_session - }) - - measurement = Enum.at(Repo.all(SocketAppMeasurement), 0) - - assert %SocketAppMeasurement{duration: 1} = measurement - - assert measurement.app_user_session_uuid == app_session - end - end -end diff --git a/apps/lenra_web/lib/lenra_web/router.ex b/apps/lenra_web/lib/lenra_web/router.ex index 252c8d7e..c65fce15 100644 --- a/apps/lenra_web/lib/lenra_web/router.ex +++ b/apps/lenra_web/lib/lenra_web/router.ex @@ -3,12 +3,6 @@ defmodule LenraWeb.Router do alias LenraWeb.{Pipeline, Plug} - alias Lenra.Guardian.{ - EnsureAuthenticatedPipeline, - EnsureAuthenticatedQueryParamsPipeline, - RefreshPipeline - } - require ApplicationRunner.Router ApplicationRunner.Router.app_routes()