Add Signed Fetch Statistics (#312)
[akkoma] / test / support / factory.ex
index 2b0426bb7841d9f82ed5dbd2fafa243127cc3322..bd9d7fe4251209124d29ecbdf64cc8e845cd7aab 100644 (file)
@@ -7,10 +7,18 @@ defmodule Pleroma.Factory do
 
   require Pleroma.Constants
 
-  alias Pleroma.Keys
   alias Pleroma.Object
   alias Pleroma.User
 
+  @rsa_keys [
+              "test/fixtures/rsa_keys/key_1.pem",
+              "test/fixtures/rsa_keys/key_2.pem",
+              "test/fixtures/rsa_keys/key_3.pem",
+              "test/fixtures/rsa_keys/key_4.pem",
+              "test/fixtures/rsa_keys/key_5.pem"
+            ]
+            |> Enum.map(&File.read!/1)
+
   def participation_factory do
     conversation = insert(:conversation)
     user = insert(:user)
@@ -28,8 +36,17 @@ defmodule Pleroma.Factory do
     }
   end
 
+  def instance_factory(attrs \\ %{}) do
+    %Pleroma.Instances.Instance{
+      host: attrs[:domain] || "example.com",
+      nodeinfo: %{version: "2.0", openRegistrations: true},
+      unreachable_since: nil
+    }
+    |> Map.merge(attrs)
+  end
+
   def user_factory(attrs \\ %{}) do
-    {:ok, pem} = Keys.generate_rsa_pem()
+    pem = Enum.random(@rsa_keys)
 
     user = %User{
       name: sequence(:name, &"Test ใƒ†ใ‚นใƒˆ User #{&1}"),
@@ -514,13 +531,6 @@ defmodule Pleroma.Factory do
     }
   end
 
-  def instance_factory do
-    %Pleroma.Instances.Instance{
-      host: "domain.com",
-      unreachable_since: nil
-    }
-  end
-
   def oauth_token_factory(attrs \\ %{}) do
     scopes = Map.get(attrs, :scopes, ["read"])
     oauth_app = Map.get_lazy(attrs, :app, fn -> insert(:oauth_app, scopes: scopes) end)
@@ -655,4 +665,15 @@ defmodule Pleroma.Factory do
     |> Map.merge(params)
     |> Pleroma.Announcement.add_rendered_properties()
   end
+
+  def frontend_setting_profile_factory(params \\ %{}) do
+    %Pleroma.Akkoma.FrontendSettingsProfile{
+      user: build(:user),
+      frontend_name: "akkoma-fe",
+      profile_name: "default",
+      settings: %{"test" => "test"},
+      version: 1
+    }
+    |> Map.merge(params)
+  end
 end