diff --git a/changelog.d/5-internal/move-common-arbitrary-instances b/changelog.d/5-internal/move-common-arbitrary-instances
new file mode 100644
index 00000000000..e6371c9b9ab
--- /dev/null
+++ b/changelog.d/5-internal/move-common-arbitrary-instances
@@ -0,0 +1 @@
+Move common Arbitrary instances to types-common package for compilation speed
diff --git a/libs/brig-types/src/Brig/Types/Connection.hs b/libs/brig-types/src/Brig/Types/Connection.hs
index c69ae043701..8bf4afcc5e6 100644
--- a/libs/brig-types/src/Brig/Types/Connection.hs
+++ b/libs/brig-types/src/Brig/Types/Connection.hs
@@ -32,7 +32,7 @@ import Data.Aeson
import Data.Id (UserId)
import Data.Qualified
import Imports
-import Wire.API.Arbitrary
+import Wire.Arbitrary
-- | Response type for endpoints returning lists of users with a specific connection state.
-- E.g. 'getContactList' returns a 'UserIds' containing the list of connections in an
diff --git a/libs/brig-types/src/Brig/Types/Test/Arbitrary.hs b/libs/brig-types/src/Brig/Types/Test/Arbitrary.hs
index 936abe501cd..b4f19a89eb6 100644
--- a/libs/brig-types/src/Brig/Types/Test/Arbitrary.hs
+++ b/libs/brig-types/src/Brig/Types/Test/Arbitrary.hs
@@ -18,7 +18,7 @@
-- with this program. If not, see .
module Brig.Types.Test.Arbitrary
- ( module Wire.API.Arbitrary,
+ ( module Wire.Arbitrary,
)
where
@@ -27,7 +27,7 @@ import Brig.Types.Team.LegalHold
import Data.String.Conversions (cs)
import Imports
import Test.QuickCheck
-import Wire.API.Arbitrary
+import Wire.Arbitrary
instance Arbitrary ExcludedPrefix where
arbitrary = ExcludedPrefix <$> arbitrary <*> arbitrary
diff --git a/libs/galley-types/src/Galley/Types/Teams/Intra.hs b/libs/galley-types/src/Galley/Types/Teams/Intra.hs
index 44b1607978b..1df8dd665fe 100644
--- a/libs/galley-types/src/Galley/Types/Teams/Intra.hs
+++ b/libs/galley-types/src/Galley/Types/Teams/Intra.hs
@@ -34,10 +34,10 @@ import Data.Json.Util
import Data.Time (UTCTime)
import Imports
import Test.QuickCheck.Arbitrary (Arbitrary)
-import Wire.API.Arbitrary (GenericUniform (..))
import Wire.API.Message (UserClients)
import Wire.API.Team (Team)
import Wire.API.Team.LegalHold (LegalholdProtectee)
+import Wire.Arbitrary (GenericUniform (..))
data TeamStatus
= Active
diff --git a/libs/wire-api/src/Wire/API/Arbitrary.hs b/libs/types-common/src/Wire/Arbitrary.hs
similarity index 99%
rename from libs/wire-api/src/Wire/API/Arbitrary.hs
rename to libs/types-common/src/Wire/Arbitrary.hs
index 9974d5f90bd..ed591cca132 100644
--- a/libs/wire-api/src/Wire/API/Arbitrary.hs
+++ b/libs/types-common/src/Wire/Arbitrary.hs
@@ -20,7 +20,7 @@
-- You should have received a copy of the GNU Affero General Public License along
-- with this program. If not, see .
-module Wire.API.Arbitrary
+module Wire.Arbitrary
( Arbitrary (..),
GenericUniform (..),
listOf',
diff --git a/libs/types-common/types-common.cabal b/libs/types-common/types-common.cabal
index 24ff7b68eee..9be5949ebc2 100644
--- a/libs/types-common/types-common.cabal
+++ b/libs/types-common/types-common.cabal
@@ -35,6 +35,7 @@ library
Util.Options
Util.Options.Common
Util.Test
+ Wire.Arbitrary
Wire.Swagger
other-modules: Paths_types_common
@@ -88,7 +89,7 @@ library
aeson >=2.0.1.0
, attoparsec >=0.11
, attoparsec-iso8601
- , base >=4 && <5
+ , base >=4 && <5
, base16-bytestring >=0.1
, base64-bytestring >=1.0
, binary
@@ -99,13 +100,18 @@ library
, cryptohash-md5 >=0.11.7.2
, cryptohash-sha1 >=0.11.7.2
, cryptonite >=0.26
+ , currency-codes >=3.0.0.1
, data-default >=0.5
+ , generic-random >=1.4.0.0
, hashable >=1.2
, http-api-data
, imports
, iproute >=1.5
+ , iso3166-country-codes >=0.20140203.8
+ , iso639 >=0.1.0.3
, lens >=4.10
, lens-datetime >=0.3
+ , mime >=0.4.0.2
, optparse-applicative >=0.10
, protobuf >=0.2
, QuickCheck >=2.9
diff --git a/libs/wire-api-federation/src/Wire/API/Federation/API/Brig.hs b/libs/wire-api-federation/src/Wire/API/Federation/API/Brig.hs
index 6ed7b0e4dc6..f9c36367bd0 100644
--- a/libs/wire-api-federation/src/Wire/API/Federation/API/Brig.hs
+++ b/libs/wire-api-federation/src/Wire/API/Federation/API/Brig.hs
@@ -24,7 +24,6 @@ import Data.Range
import Imports
import Servant.API
import Test.QuickCheck (Arbitrary)
-import Wire.API.Arbitrary (GenericUniform (..))
import Wire.API.Federation.API.Common
import Wire.API.Federation.Endpoint
import Wire.API.Federation.Version
@@ -36,6 +35,7 @@ import Wire.API.User.Client.Prekey (ClientPrekey, PrekeyBundle)
import Wire.API.User.Search
import Wire.API.UserMap (UserMap)
import Wire.API.Util.Aeson (CustomEncoded (..))
+import Wire.Arbitrary (GenericUniform (..))
newtype SearchRequest = SearchRequest {term :: Text}
deriving (Show, Eq, Generic, Typeable)
diff --git a/libs/wire-api-federation/src/Wire/API/Federation/API/Cargohold.hs b/libs/wire-api-federation/src/Wire/API/Federation/API/Cargohold.hs
index f4da5333664..bcff826a17b 100644
--- a/libs/wire-api-federation/src/Wire/API/Federation/API/Cargohold.hs
+++ b/libs/wire-api-federation/src/Wire/API/Federation/API/Cargohold.hs
@@ -21,11 +21,11 @@ import Data.Aeson (FromJSON (..), ToJSON (..))
import Data.Id
import Imports
import Servant.API
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Asset
import Wire.API.Federation.Endpoint
import Wire.API.Routes.AssetBody
import Wire.API.Util.Aeson
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
data GetAsset = GetAsset
{ -- | User requesting the asset. Implictly qualified with the source domain.
diff --git a/libs/wire-api-federation/src/Wire/API/Federation/API/Common.hs b/libs/wire-api-federation/src/Wire/API/Federation/API/Common.hs
index ebc038f58f3..265a40f7fd0 100644
--- a/libs/wire-api-federation/src/Wire/API/Federation/API/Common.hs
+++ b/libs/wire-api-federation/src/Wire/API/Federation/API/Common.hs
@@ -20,7 +20,7 @@ module Wire.API.Federation.API.Common where
import Data.Aeson
import Imports
import Test.QuickCheck
-import Wire.API.Arbitrary
+import Wire.Arbitrary
-- | This is equivalent to '()', but JSONifies to an empty object instead of an
-- empty array.
diff --git a/libs/wire-api-federation/src/Wire/API/Federation/API/Galley.hs b/libs/wire-api-federation/src/Wire/API/Federation/API/Galley.hs
index e93c1f8f65a..b654911291b 100644
--- a/libs/wire-api-federation/src/Wire/API/Federation/API/Galley.hs
+++ b/libs/wire-api-federation/src/Wire/API/Federation/API/Galley.hs
@@ -27,7 +27,6 @@ import Data.Time.Clock (UTCTime)
import Imports
import qualified Network.Wai.Utilities.Error as Wai
import Servant.API
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Conversation
import Wire.API.Conversation.Action
import Wire.API.Conversation.Protocol
@@ -38,6 +37,7 @@ import Wire.API.Federation.Endpoint
import Wire.API.Message
import Wire.API.Routes.Public.Galley
import Wire.API.Util.Aeson (CustomEncoded (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
-- FUTUREWORK: data types, json instances, more endpoints. See
-- https://wearezeta.atlassian.net/wiki/spaces/CORE/pages/356090113/Federation+Galley+Conversation+API
diff --git a/libs/wire-api-federation/src/Wire/API/Federation/Component.hs b/libs/wire-api-federation/src/Wire/API/Federation/Component.hs
index 075a5aa9007..908f3b01c47 100644
--- a/libs/wire-api-federation/src/Wire/API/Federation/Component.hs
+++ b/libs/wire-api-federation/src/Wire/API/Federation/Component.hs
@@ -19,7 +19,7 @@ module Wire.API.Federation.Component where
import Imports
import Test.QuickCheck (Arbitrary)
-import Wire.API.Arbitrary (GenericUniform (..))
+import Wire.Arbitrary (GenericUniform (..))
data Component
= Brig
diff --git a/libs/wire-api/src/Wire/API/Asset.hs b/libs/wire-api/src/Wire/API/Asset.hs
index 8f2bf9c6ac7..04f157ae7ba 100644
--- a/libs/wire-api/src/Wire/API/Asset.hs
+++ b/libs/wire-api/src/Wire/API/Asset.hs
@@ -88,9 +88,9 @@ import qualified Data.UUID as UUID
import Imports
import Servant
import URI.ByteString
-import Wire.API.Arbitrary (Arbitrary (..), GenericUniform (..))
import Wire.API.Error
import Wire.API.Routes.MultiVerb
+import Wire.Arbitrary (Arbitrary (..), GenericUniform (..))
--------------------------------------------------------------------------------
-- Asset
diff --git a/libs/wire-api/src/Wire/API/Call/Config.hs b/libs/wire-api/src/Wire/API/Call/Config.hs
index 8cc1e729a07..3777bdcbb77 100644
--- a/libs/wire-api/src/Wire/API/Call/Config.hs
+++ b/libs/wire-api/src/Wire/API/Call/Config.hs
@@ -91,7 +91,7 @@ import Data.Time.Clock.POSIX
import Imports
import qualified Test.QuickCheck as QC
import Text.Hostname (validHostname)
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- RTCConfiguration
diff --git a/libs/wire-api/src/Wire/API/Connection.hs b/libs/wire-api/src/Wire/API/Connection.hs
index d9437e0663c..fa3fc2af11e 100644
--- a/libs/wire-api/src/Wire/API/Connection.hs
+++ b/libs/wire-api/src/Wire/API/Connection.hs
@@ -58,8 +58,8 @@ import qualified Data.Swagger.Build.Api as Doc
import Data.Text as Text
import Imports
import Servant.API
-import Wire.API.Arbitrary (Arbitrary (..), GenericUniform (..))
import Wire.API.Routes.MultiTablePaging
+import Wire.Arbitrary (Arbitrary (..), GenericUniform (..))
--------------------------------------------------------------------------------
-- UserConnectionList
diff --git a/libs/wire-api/src/Wire/API/Conversation.hs b/libs/wire-api/src/Wire/API/Conversation.hs
index 2c8e6f9613a..f9ad1b122ea 100644
--- a/libs/wire-api/src/Wire/API/Conversation.hs
+++ b/libs/wire-api/src/Wire/API/Conversation.hs
@@ -112,12 +112,12 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
import System.Random (randomRIO)
-import Wire.API.Arbitrary
import Wire.API.Conversation.Member
import Wire.API.Conversation.Protocol
import Wire.API.Conversation.Role (RoleName, roleNameWireAdmin)
import Wire.API.MLS.Group
import Wire.API.Routes.MultiTablePaging
+import Wire.Arbitrary
--------------------------------------------------------------------------------
-- Conversation
diff --git a/libs/wire-api/src/Wire/API/Conversation/Action.hs b/libs/wire-api/src/Wire/API/Conversation/Action.hs
index 15a0ec0879d..bd0700a521a 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Action.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Action.hs
@@ -43,11 +43,11 @@ import Data.Singletons.TH
import qualified Data.Swagger as S
import Data.Time.Clock
import Imports
-import Wire.API.Arbitrary (Arbitrary (..))
import Wire.API.Conversation
import Wire.API.Conversation.Action.Tag
import Wire.API.Conversation.Role
import Wire.API.Event.Conversation
+import Wire.Arbitrary (Arbitrary (..))
-- | We use this type family instead of a sum type to be able to define
-- individual effects per conversation action. See 'HasConversationActionEffects'.
diff --git a/libs/wire-api/src/Wire/API/Conversation/Action/Tag.hs b/libs/wire-api/src/Wire/API/Conversation/Action/Tag.hs
index 1f53eb6fb0d..3445e3794ff 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Action/Tag.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Action/Tag.hs
@@ -26,7 +26,7 @@ import Data.Schema hiding (tag)
import Data.Singletons.TH
import Imports
import Test.QuickCheck (elements)
-import Wire.API.Arbitrary (Arbitrary (..))
+import Wire.Arbitrary (Arbitrary (..))
data ConversationActionTag
= ConversationJoinTag
diff --git a/libs/wire-api/src/Wire/API/Conversation/Bot.hs b/libs/wire-api/src/Wire/API/Conversation/Bot.hs
index 05112e9cd90..4b4da2f0466 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Bot.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Bot.hs
@@ -30,10 +30,10 @@ import Data.Aeson
import Data.Id
import Data.Json.Util ((#))
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Event.Conversation (Event)
import Wire.API.User.Client.Prekey (Prekey)
import Wire.API.User.Profile (Asset, ColourId, Locale, Name)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- AddBot
diff --git a/libs/wire-api/src/Wire/API/Conversation/Code.hs b/libs/wire-api/src/Wire/API/Conversation/Code.hs
index e953df6d475..2120f5a6808 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Code.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Code.hs
@@ -43,7 +43,7 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
import qualified URI.ByteString as URI
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
data ConversationCode = ConversationCode
{ conversationKey :: Code.Key,
diff --git a/libs/wire-api/src/Wire/API/Conversation/Member.hs b/libs/wire-api/src/Wire/API/Conversation/Member.hs
index b01ac7a559f..f79d8e530e1 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Member.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Member.hs
@@ -51,9 +51,9 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
import qualified Test.QuickCheck as QC
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Conversation.Role
import Wire.API.Provider.Service (ServiceRef, modelServiceRef)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
data ConvMembers = ConvMembers
{ cmSelf :: Member,
diff --git a/libs/wire-api/src/Wire/API/Conversation/Protocol.hs b/libs/wire-api/src/Wire/API/Conversation/Protocol.hs
index 8f5a16a28c6..718caa3071d 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Protocol.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Protocol.hs
@@ -37,11 +37,11 @@ import Control.Lens (makePrisms, (?~))
import Data.Aeson (FromJSON (..), ToJSON (..))
import Data.Schema
import Imports
-import Wire.API.Arbitrary
import Wire.API.Conversation.Action.Tag
import Wire.API.MLS.CipherSuite
import Wire.API.MLS.Epoch
import Wire.API.MLS.Group
+import Wire.Arbitrary
data ProtocolTag = ProtocolProteusTag | ProtocolMLSTag
deriving stock (Eq, Show, Enum, Bounded, Generic)
diff --git a/libs/wire-api/src/Wire/API/Conversation/Role.hs b/libs/wire-api/src/Wire/API/Conversation/Role.hs
index c015e430982..e215b72db88 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Role.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Role.hs
@@ -83,7 +83,7 @@ import qualified Deriving.Swagger as S
import GHC.TypeLits
import Imports
import qualified Test.QuickCheck as QC
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Role
diff --git a/libs/wire-api/src/Wire/API/Conversation/Typing.hs b/libs/wire-api/src/Wire/API/Conversation/Typing.hs
index dc1480b6e70..d18131b3c6c 100644
--- a/libs/wire-api/src/Wire/API/Conversation/Typing.hs
+++ b/libs/wire-api/src/Wire/API/Conversation/Typing.hs
@@ -33,7 +33,7 @@ import Data.Schema
import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
newtype TypingData = TypingData
{ tdStatus :: TypingStatus
diff --git a/libs/wire-api/src/Wire/API/CustomBackend.hs b/libs/wire-api/src/Wire/API/CustomBackend.hs
index 010fb466a69..75b0e976a77 100644
--- a/libs/wire-api/src/Wire/API/CustomBackend.hs
+++ b/libs/wire-api/src/Wire/API/CustomBackend.hs
@@ -28,7 +28,7 @@ import Data.Schema
import qualified Data.Swagger as S
import Deriving.Aeson
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
data CustomBackend = CustomBackend
{ backendConfigJsonUrl :: HttpsUrl,
diff --git a/libs/wire-api/src/Wire/API/Event/Conversation.hs b/libs/wire-api/src/Wire/API/Event/Conversation.hs
index 6534e7ff8ab..9571ed8d86c 100644
--- a/libs/wire-api/src/Wire/API/Event/Conversation.hs
+++ b/libs/wire-api/src/Wire/API/Event/Conversation.hs
@@ -79,12 +79,12 @@ import Data.Time
import Imports
import qualified Test.QuickCheck as QC
import URI.ByteString ()
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Conversation
import Wire.API.Conversation.Code (ConversationCode (..))
import Wire.API.Conversation.Role
import Wire.API.Conversation.Typing (TypingData (..))
import Wire.API.User (QualifiedUserIdList (..))
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Event
diff --git a/libs/wire-api/src/Wire/API/Event/Team.hs b/libs/wire-api/src/Wire/API/Event/Team.hs
index 3dae7964b81..4dc8100e13a 100644
--- a/libs/wire-api/src/Wire/API/Event/Team.hs
+++ b/libs/wire-api/src/Wire/API/Event/Team.hs
@@ -54,9 +54,9 @@ import qualified Data.Swagger.Build.Api as Doc
import Data.Time (UTCTime)
import Imports
import qualified Test.QuickCheck as QC
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Team (Team, TeamUpdateData, modelUpdateData)
import Wire.API.Team.Permission (Permissions)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Event
diff --git a/libs/wire-api/src/Wire/API/MLS/CipherSuite.hs b/libs/wire-api/src/Wire/API/MLS/CipherSuite.hs
index 2dd9f9013f3..9308a1b1e29 100644
--- a/libs/wire-api/src/Wire/API/MLS/CipherSuite.hs
+++ b/libs/wire-api/src/Wire/API/MLS/CipherSuite.hs
@@ -31,9 +31,9 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Internal.Schema as S
import Data.Word
import Imports
-import Wire.API.Arbitrary
import Wire.API.MLS.Credential
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
newtype CipherSuite = CipherSuite {cipherSuiteNumber :: Word16}
deriving stock (Eq, Show)
diff --git a/libs/wire-api/src/Wire/API/MLS/Credential.hs b/libs/wire-api/src/Wire/API/MLS/Credential.hs
index 7077569f3d5..6cd03be33fc 100644
--- a/libs/wire-api/src/Wire/API/MLS/Credential.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Credential.hs
@@ -38,8 +38,8 @@ import qualified Data.Text as T
import Data.UUID
import Imports
import Web.HttpApiData
-import Wire.API.Arbitrary
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
-- | An MLS credential.
--
diff --git a/libs/wire-api/src/Wire/API/MLS/Epoch.hs b/libs/wire-api/src/Wire/API/MLS/Epoch.hs
index 4352ffbeec9..c5fae61fa99 100644
--- a/libs/wire-api/src/Wire/API/MLS/Epoch.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Epoch.hs
@@ -22,8 +22,8 @@ module Wire.API.MLS.Epoch where
import Data.Binary
import Data.Schema
import Imports
-import Wire.API.Arbitrary
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
newtype Epoch = Epoch {epochNumber :: Word64}
deriving stock (Eq, Show)
diff --git a/libs/wire-api/src/Wire/API/MLS/Extension.hs b/libs/wire-api/src/Wire/API/MLS/Extension.hs
index 6c150f5ebdb..18b1d551d2d 100644
--- a/libs/wire-api/src/Wire/API/MLS/Extension.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Extension.hs
@@ -47,9 +47,9 @@ import Data.Binary
import Data.Singletons.TH
import Data.Time.Clock.POSIX
import Imports
-import Wire.API.Arbitrary
import Wire.API.MLS.CipherSuite
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
newtype ProtocolVersion = ProtocolVersion {pvNumber :: Word8}
deriving newtype (Eq, Ord, Show, Binary, Arbitrary)
diff --git a/libs/wire-api/src/Wire/API/MLS/Group.hs b/libs/wire-api/src/Wire/API/MLS/Group.hs
index e8754ff57b2..54a5fff5138 100644
--- a/libs/wire-api/src/Wire/API/MLS/Group.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Group.hs
@@ -27,8 +27,8 @@ import Data.Qualified
import Data.Schema
import qualified Data.Swagger as S
import Imports
-import Wire.API.Arbitrary
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
newtype GroupId = GroupId {unGroupId :: ByteString}
deriving (Eq, Show, Generic)
diff --git a/libs/wire-api/src/Wire/API/MLS/KeyPackage.hs b/libs/wire-api/src/Wire/API/MLS/KeyPackage.hs
index 3f165fbe868..3d39d778c5f 100644
--- a/libs/wire-api/src/Wire/API/MLS/KeyPackage.hs
+++ b/libs/wire-api/src/Wire/API/MLS/KeyPackage.hs
@@ -52,12 +52,12 @@ import qualified Data.Swagger as S
import Imports
import Test.QuickCheck
import Web.HttpApiData
-import Wire.API.Arbitrary
import Wire.API.MLS.CipherSuite
import Wire.API.MLS.Context
import Wire.API.MLS.Credential
import Wire.API.MLS.Extension
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
data KeyPackageUpload = KeyPackageUpload
{kpuKeyPackages :: [RawMLS KeyPackage]}
diff --git a/libs/wire-api/src/Wire/API/MLS/Message.hs b/libs/wire-api/src/Wire/API/MLS/Message.hs
index fa9a98a3717..721f63c9c35 100644
--- a/libs/wire-api/src/Wire/API/MLS/Message.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Message.hs
@@ -57,7 +57,6 @@ import Data.Singletons.TH
import qualified Data.Swagger as S
import Imports
import Test.QuickCheck hiding (label)
-import Wire.API.Arbitrary (GenericUniform (..))
import Wire.API.Event.Conversation
import Wire.API.MLS.CipherSuite
import Wire.API.MLS.Commit
@@ -66,6 +65,7 @@ import Wire.API.MLS.Group
import Wire.API.MLS.KeyPackage
import Wire.API.MLS.Proposal
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary (GenericUniform (..))
data WireFormatTag = MLSPlainText | MLSCipherText
deriving (Bounded, Enum, Eq, Show)
diff --git a/libs/wire-api/src/Wire/API/MLS/Proposal.hs b/libs/wire-api/src/Wire/API/MLS/Proposal.hs
index a1dcfaeeb3f..4264a319183 100644
--- a/libs/wire-api/src/Wire/API/MLS/Proposal.hs
+++ b/libs/wire-api/src/Wire/API/MLS/Proposal.hs
@@ -26,13 +26,13 @@ import Data.Binary.Get
import Data.Binary.Put
import qualified Data.ByteString.Lazy as LBS
import Imports
-import Wire.API.Arbitrary
import Wire.API.MLS.CipherSuite
import Wire.API.MLS.Context
import Wire.API.MLS.Extension
import Wire.API.MLS.Group
import Wire.API.MLS.KeyPackage
import Wire.API.MLS.Serialisation
+import Wire.Arbitrary
data ProposalTag
= AddProposalTag
diff --git a/libs/wire-api/src/Wire/API/Message.hs b/libs/wire-api/src/Wire/API/Message.hs
index 173dd5aad7d..f5676a013f2 100644
--- a/libs/wire-api/src/Wire/API/Message.hs
+++ b/libs/wire-api/src/Wire/API/Message.hs
@@ -89,10 +89,10 @@ import Imports
import qualified Proto.Otr
import qualified Proto.Otr_Fields as Proto.Otr
import Servant (FromHttpApiData (..))
-import Wire.API.Arbitrary (Arbitrary (..), GenericUniform (..))
import qualified Wire.API.Message.Proto as Proto
import Wire.API.ServantProto (FromProto (..), ToProto (..))
import Wire.API.User.Client (QualifiedUserClientMap (QualifiedUserClientMap), QualifiedUserClients, UserClientMap (..), UserClients (..), modelOtrClientMap, modelUserClients)
+import Wire.Arbitrary (Arbitrary (..), GenericUniform (..))
--------------------------------------------------------------------------------
-- Message
diff --git a/libs/wire-api/src/Wire/API/Notification.hs b/libs/wire-api/src/Wire/API/Notification.hs
index d46ed7bfe43..04a2c8c55ff 100644
--- a/libs/wire-api/src/Wire/API/Notification.hs
+++ b/libs/wire-api/src/Wire/API/Notification.hs
@@ -51,7 +51,7 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Data.Time.Clock (UTCTime)
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
type NotificationId = Id QueuedNotification
diff --git a/libs/wire-api/src/Wire/API/Properties.hs b/libs/wire-api/src/Wire/API/Properties.hs
index 6297e62ef2a..83a04aa07c0 100644
--- a/libs/wire-api/src/Wire/API/Properties.hs
+++ b/libs/wire-api/src/Wire/API/Properties.hs
@@ -39,7 +39,7 @@ import qualified Data.Swagger.Build.Api as Doc
import Data.Text.Ascii
import Imports
import Servant
-import Wire.API.Arbitrary (Arbitrary)
+import Wire.Arbitrary (Arbitrary)
newtype PropertyKeysAndValues = PropertyKeysAndValues (Map PropertyKey PropertyValue)
deriving newtype (ToJSON)
diff --git a/libs/wire-api/src/Wire/API/Provider.hs b/libs/wire-api/src/Wire/API/Provider.hs
index f6f0314810f..146517bf9ce 100644
--- a/libs/wire-api/src/Wire/API/Provider.hs
+++ b/libs/wire-api/src/Wire/API/Provider.hs
@@ -59,12 +59,12 @@ import Data.Json.Util
import Data.Misc (HttpsUrl (..), PlainTextPassword (..))
import Data.Range
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Conversation.Code as Code
import Wire.API.Provider.Service (ServiceToken (..))
import Wire.API.Provider.Service.Tag (ServiceTag (..))
import Wire.API.User.Identity (Email)
import Wire.API.User.Profile (Name)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- Provider
diff --git a/libs/wire-api/src/Wire/API/Provider/Bot.hs b/libs/wire-api/src/Wire/API/Provider/Bot.hs
index cd51e2c405f..b8aabf3af01 100644
--- a/libs/wire-api/src/Wire/API/Provider/Bot.hs
+++ b/libs/wire-api/src/Wire/API/Provider/Bot.hs
@@ -36,9 +36,9 @@ import Data.Handle (Handle)
import Data.Id
import Data.Json.Util ((#))
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Conversation.Member (OtherMember (..))
import Wire.API.User.Profile (ColourId, Name)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- BotConvView
diff --git a/libs/wire-api/src/Wire/API/Provider/External.hs b/libs/wire-api/src/Wire/API/Provider/External.hs
index 8fb9e8f698f..246b6aa5317 100644
--- a/libs/wire-api/src/Wire/API/Provider/External.hs
+++ b/libs/wire-api/src/Wire/API/Provider/External.hs
@@ -27,10 +27,10 @@ import Data.Aeson
import Data.Id
import Data.Json.Util ((#))
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Provider.Bot (BotConvView, BotUserView)
import Wire.API.User.Client.Prekey (LastPrekey, Prekey)
import Wire.API.User.Profile (Asset, ColourId, Locale, Name)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- NewBotRequest
diff --git a/libs/wire-api/src/Wire/API/Provider/Service.hs b/libs/wire-api/src/Wire/API/Provider/Service.hs
index c533c69639b..329c1e0ad6b 100644
--- a/libs/wire-api/src/Wire/API/Provider/Service.hs
+++ b/libs/wire-api/src/Wire/API/Provider/Service.hs
@@ -74,9 +74,9 @@ import qualified Data.Text as Text
import Data.Text.Ascii
import qualified Data.Text.Encoding as Text
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Provider.Service.Tag (ServiceTag (..))
import Wire.API.User.Profile (Asset, Name)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- ServiceRef
diff --git a/libs/wire-api/src/Wire/API/Provider/Service/Tag.hs b/libs/wire-api/src/Wire/API/Provider/Service/Tag.hs
index 9029be7e13d..60be42a4273 100644
--- a/libs/wire-api/src/Wire/API/Provider/Service/Tag.hs
+++ b/libs/wire-api/src/Wire/API/Provider/Service/Tag.hs
@@ -50,7 +50,7 @@ import qualified Data.Set as Set
import qualified Data.Text.Encoding as Text
import GHC.TypeLits (KnownNat, Nat)
import Imports
-import Wire.API.Arbitrary (Arbitrary (..), GenericUniform (..))
+import Wire.Arbitrary (Arbitrary (..), GenericUniform (..))
--------------------------------------------------------------------------------
-- ServiceTag
diff --git a/libs/wire-api/src/Wire/API/Push/V2/Token.hs b/libs/wire-api/src/Wire/API/Push/V2/Token.hs
index fec07c9f765..ef3cc837545 100644
--- a/libs/wire-api/src/Wire/API/Push/V2/Token.hs
+++ b/libs/wire-api/src/Wire/API/Push/V2/Token.hs
@@ -49,7 +49,7 @@ import Data.Id
import Data.Json.Util
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- PushToken
diff --git a/libs/wire-api/src/Wire/API/Routes/Internal/Brig/EJPD.hs b/libs/wire-api/src/Wire/API/Routes/Internal/Brig/EJPD.hs
index cfaa67ed9ce..efd26df2ee0 100644
--- a/libs/wire-api/src/Wire/API/Routes/Internal/Brig/EJPD.hs
+++ b/libs/wire-api/src/Wire/API/Routes/Internal/Brig/EJPD.hs
@@ -32,11 +32,11 @@ import Data.Swagger (ToSchema)
import Deriving.Swagger (CamelToSnake, CustomSwagger (..), FieldLabelModifier, StripSuffix)
import Imports hiding (head)
import Test.QuickCheck (Arbitrary)
-import Wire.API.Arbitrary (GenericUniform (..))
import Wire.API.Connection (Relation)
import Wire.API.Team.Member (NewListType)
import Wire.API.User.Identity (Email, Phone)
import Wire.API.User.Profile (Name)
+import Wire.Arbitrary (GenericUniform (..))
newtype EJPDRequestBody = EJPDRequestBody {ejpdRequestBody :: [Handle]}
deriving stock (Eq, Show, Generic)
diff --git a/libs/wire-api/src/Wire/API/Team.hs b/libs/wire-api/src/Wire/API/Team.hs
index 8bb151eca0d..bcebae30ac7 100644
--- a/libs/wire-api/src/Wire/API/Team.hs
+++ b/libs/wire-api/src/Wire/API/Team.hs
@@ -89,9 +89,9 @@ import qualified Data.Swagger.Build.Api as Doc
import qualified Data.Text.Encoding as T
import Imports
import Test.QuickCheck.Gen (suchThat)
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Asset (AssetKey)
import Wire.API.Team.Member (TeamMember)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Team
diff --git a/libs/wire-api/src/Wire/API/Team/Conversation.hs b/libs/wire-api/src/Wire/API/Team/Conversation.hs
index f6fb56f92a7..3fd614cd6b8 100644
--- a/libs/wire-api/src/Wire/API/Team/Conversation.hs
+++ b/libs/wire-api/src/Wire/API/Team/Conversation.hs
@@ -43,7 +43,7 @@ import Data.Proxy
import Data.Swagger
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- TeamConversation
diff --git a/libs/wire-api/src/Wire/API/Team/Export.hs b/libs/wire-api/src/Wire/API/Team/Export.hs
index ac9cd8a824f..7e0c464fc9b 100644
--- a/libs/wire-api/src/Wire/API/Team/Export.hs
+++ b/libs/wire-api/src/Wire/API/Team/Export.hs
@@ -30,12 +30,12 @@ import Data.String.Conversions (cs)
import Data.Vector (fromList)
import Imports
import Test.QuickCheck (Arbitrary)
-import Wire.API.Arbitrary (GenericUniform (GenericUniform))
import Wire.API.Team.Role (Role)
import Wire.API.User (Name)
import Wire.API.User.Identity (Email)
import Wire.API.User.Profile (ManagedBy)
import Wire.API.User.RichInfo (RichInfo)
+import Wire.Arbitrary (GenericUniform (GenericUniform))
data TeamExportUser = TeamExportUser
{ tExportDisplayName :: Name,
diff --git a/libs/wire-api/src/Wire/API/Team/Feature.hs b/libs/wire-api/src/Wire/API/Team/Feature.hs
index 1e93517788b..1e2a33f803d 100644
--- a/libs/wire-api/src/Wire/API/Team/Feature.hs
+++ b/libs/wire-api/src/Wire/API/Team/Feature.hs
@@ -109,9 +109,9 @@ import Imports
import Servant (FromHttpApiData (..), ToHttpApiData (..))
import Test.QuickCheck.Arbitrary (arbitrary)
import Test.QuickCheck.Gen (suchThat)
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Conversation.Protocol (ProtocolTag (ProtocolProteusTag))
import Wire.API.MLS.CipherSuite (CipherSuiteTag (MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
----------------------------------------------------------------------
-- FeatureTag
diff --git a/libs/wire-api/src/Wire/API/Team/Invitation.hs b/libs/wire-api/src/Wire/API/Team/Invitation.hs
index 3e68bec925d..4476698097f 100644
--- a/libs/wire-api/src/Wire/API/Team/Invitation.hs
+++ b/libs/wire-api/src/Wire/API/Team/Invitation.hs
@@ -34,10 +34,10 @@ import Data.Id
import Data.Json.Util
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Team.Role (Role, defaultRole, typeRole)
import Wire.API.User.Identity (Email, Phone)
import Wire.API.User.Profile (Locale, Name)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- InvitationRequest
diff --git a/libs/wire-api/src/Wire/API/Team/LegalHold.hs b/libs/wire-api/src/Wire/API/Team/LegalHold.hs
index 91fb866f585..59f5b40cdf8 100644
--- a/libs/wire-api/src/Wire/API/Team/LegalHold.hs
+++ b/libs/wire-api/src/Wire/API/Team/LegalHold.hs
@@ -37,10 +37,10 @@ import Data.Schema
import qualified Data.Swagger as S hiding (info)
import Deriving.Aeson
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Provider
import Wire.API.Provider.Service (ServiceKeyPEM)
import Wire.API.User.Client.Prekey
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- NewLegalHoldService
diff --git a/libs/wire-api/src/Wire/API/Team/LegalHold/External.hs b/libs/wire-api/src/Wire/API/Team/LegalHold/External.hs
index 197f0ac513c..ea892087bfe 100644
--- a/libs/wire-api/src/Wire/API/Team/LegalHold/External.hs
+++ b/libs/wire-api/src/Wire/API/Team/LegalHold/External.hs
@@ -36,8 +36,8 @@ import Data.Id
import Data.Json.Util ((#))
import Data.Swagger
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.User.Client.Prekey
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- initiate
diff --git a/libs/wire-api/src/Wire/API/Team/Member.hs b/libs/wire-api/src/Wire/API/Team/Member.hs
index 96388778716..3b87022987f 100644
--- a/libs/wire-api/src/Wire/API/Team/Member.hs
+++ b/libs/wire-api/src/Wire/API/Team/Member.hs
@@ -71,8 +71,8 @@ import Data.Schema
import qualified Data.Swagger.Schema as S
import GHC.TypeLits
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Team.Permission (Permissions)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
data PermissionTag = Required | Optional
diff --git a/libs/wire-api/src/Wire/API/Team/Permission.hs b/libs/wire-api/src/Wire/API/Team/Permission.hs
index 43dd13189b3..e6fe0aafb4e 100644
--- a/libs/wire-api/src/Wire/API/Team/Permission.hs
+++ b/libs/wire-api/src/Wire/API/Team/Permission.hs
@@ -57,8 +57,8 @@ import Data.Singletons.TH
import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Util.Aeson (CustomEncoded (..))
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Permissions
diff --git a/libs/wire-api/src/Wire/API/Team/Role.hs b/libs/wire-api/src/Wire/API/Team/Role.hs
index b10f37a2e4f..2879766d4b3 100644
--- a/libs/wire-api/src/Wire/API/Team/Role.hs
+++ b/libs/wire-api/src/Wire/API/Team/Role.hs
@@ -38,7 +38,7 @@ import qualified Data.Swagger.Model.Api as Doc
import qualified Data.Text as T
import Imports
import Servant.API (FromHttpApiData, parseQueryParam)
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
-- Note [team roles]
-- ~~~~~~~~~~~~
diff --git a/libs/wire-api/src/Wire/API/Team/SearchVisibility.hs b/libs/wire-api/src/Wire/API/Team/SearchVisibility.hs
index fe641c96704..175ec24b473 100644
--- a/libs/wire-api/src/Wire/API/Team/SearchVisibility.hs
+++ b/libs/wire-api/src/Wire/API/Team/SearchVisibility.hs
@@ -35,7 +35,7 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Deriving.Aeson
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- TeamSearchVisibility
diff --git a/libs/wire-api/src/Wire/API/User.hs b/libs/wire-api/src/Wire/API/User.hs
index 8af4f071f6b..87f9d1fa3e8 100644
--- a/libs/wire-api/src/Wire/API/User.hs
+++ b/libs/wire-api/src/Wire/API/User.hs
@@ -157,7 +157,6 @@ import Servant (FromHttpApiData (..), ToHttpApiData (..), type (.++))
import qualified Test.QuickCheck as QC
import URI.ByteString (serializeURIRef)
import qualified Web.Cookie as Web
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Error
import Wire.API.Error.Brig
import qualified Wire.API.Error.Brig as E
@@ -169,6 +168,7 @@ import Wire.API.User.Auth (CookieLabel)
import Wire.API.User.Identity
import Wire.API.User.Profile
import Wire.API.User.RichInfo
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- UserIdList
diff --git a/libs/wire-api/src/Wire/API/User/Activation.hs b/libs/wire-api/src/Wire/API/User/Activation.hs
index de14a9f0f37..385ceaa59cf 100644
--- a/libs/wire-api/src/Wire/API/User/Activation.hs
+++ b/libs/wire-api/src/Wire/API/User/Activation.hs
@@ -48,9 +48,9 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Data.Text.Ascii
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.User.Identity
import Wire.API.User.Profile
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- ActivationTarget
diff --git a/libs/wire-api/src/Wire/API/User/Auth.hs b/libs/wire-api/src/Wire/API/User/Auth.hs
index ec0ebf0a96a..c38537045a1 100644
--- a/libs/wire-api/src/Wire/API/User/Auth.hs
+++ b/libs/wire-api/src/Wire/API/User/Auth.hs
@@ -64,9 +64,9 @@ import qualified Data.Swagger.Build.Api as Doc
import Data.Text.Lazy.Encoding (decodeUtf8, encodeUtf8)
import Data.Time.Clock (UTCTime)
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.User.Auth2
import Wire.API.User.Identity (Phone)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Login
diff --git a/libs/wire-api/src/Wire/API/User/Auth2.hs b/libs/wire-api/src/Wire/API/User/Auth2.hs
index 9f8d88dd868..5183c382109 100644
--- a/libs/wire-api/src/Wire/API/User/Auth2.hs
+++ b/libs/wire-api/src/Wire/API/User/Auth2.hs
@@ -27,8 +27,8 @@ import Data.Schema
import qualified Data.Swagger as S
import Data.Tuple.Extra (fst3, snd3, thd3)
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.User.Identity (Email, Phone)
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- LoginId
diff --git a/libs/wire-api/src/Wire/API/User/Client.hs b/libs/wire-api/src/Wire/API/User/Client.hs
index 8aa15c048ce..6f38cc75f67 100644
--- a/libs/wire-api/src/Wire/API/User/Client.hs
+++ b/libs/wire-api/src/Wire/API/User/Client.hs
@@ -108,10 +108,10 @@ import Deriving.Swagger
StripPrefix,
)
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..), generateExample, mapOf', setOf')
import Wire.API.MLS.Credential
import Wire.API.User.Auth (CookieLabel)
import Wire.API.User.Client.Prekey as Prekey
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..), generateExample, mapOf', setOf')
----------------------------------------------------------------------
-- ClientCapability, ClientCapabilityList
diff --git a/libs/wire-api/src/Wire/API/User/Client/Prekey.hs b/libs/wire-api/src/Wire/API/User/Client/Prekey.hs
index c94dab86c25..8b29e54afac 100644
--- a/libs/wire-api/src/Wire/API/User/Client/Prekey.hs
+++ b/libs/wire-api/src/Wire/API/User/Client/Prekey.hs
@@ -41,7 +41,7 @@ import Data.Schema
import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
newtype PrekeyId = PrekeyId {keyId :: Word16}
deriving stock (Eq, Ord, Show, Generic)
diff --git a/libs/wire-api/src/Wire/API/User/Handle.hs b/libs/wire-api/src/Wire/API/User/Handle.hs
index c62bbd81fb7..2fa2955d738 100644
--- a/libs/wire-api/src/Wire/API/User/Handle.hs
+++ b/libs/wire-api/src/Wire/API/User/Handle.hs
@@ -38,7 +38,7 @@ import Data.Schema
import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- UserHandleInfo
diff --git a/libs/wire-api/src/Wire/API/User/Identity.hs b/libs/wire-api/src/Wire/API/User/Identity.hs
index 802412efd52..9c1f0ae55cc 100644
--- a/libs/wire-api/src/Wire/API/User/Identity.hs
+++ b/libs/wire-api/src/Wire/API/User/Identity.hs
@@ -79,8 +79,8 @@ import qualified Test.QuickCheck as QC
import qualified Text.Email.Validate as Email.V
import qualified URI.ByteString as URI
import URI.ByteString.QQ (uri)
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.User.Profile (fromName, mkName)
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- UserIdentity
diff --git a/libs/wire-api/src/Wire/API/User/IdentityProvider.hs b/libs/wire-api/src/Wire/API/User/IdentityProvider.hs
index b90af4f5ab2..e573b19a93d 100644
--- a/libs/wire-api/src/Wire/API/User/IdentityProvider.hs
+++ b/libs/wire-api/src/Wire/API/User/IdentityProvider.hs
@@ -39,8 +39,8 @@ import SAML2.WebSSO (IdPConfig)
import qualified SAML2.WebSSO as SAML
import SAML2.WebSSO.Types.TH (deriveJSONOptions)
import Servant.API as Servant hiding (MkLink, URI (..))
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (GenericUniform))
import Wire.API.User.Orphans (samlSchemaOptions)
+import Wire.Arbitrary (Arbitrary, GenericUniform (GenericUniform))
-- | The identity provider type used in Spar.
type IdP = IdPConfig WireIdP
diff --git a/libs/wire-api/src/Wire/API/User/Password.hs b/libs/wire-api/src/Wire/API/User/Password.hs
index 044002f6253..986ef301a6f 100644
--- a/libs/wire-api/src/Wire/API/User/Password.hs
+++ b/libs/wire-api/src/Wire/API/User/Password.hs
@@ -42,8 +42,8 @@ import Data.Range (Ranged (..))
import qualified Data.Swagger.Build.Api as Doc
import Data.Text.Ascii
import Imports
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.User.Identity
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- NewPasswordReset
diff --git a/libs/wire-api/src/Wire/API/User/Profile.hs b/libs/wire-api/src/Wire/API/User/Profile.hs
index bed58b36948..37b3557e31c 100644
--- a/libs/wire-api/src/Wire/API/User/Profile.hs
+++ b/libs/wire-api/src/Wire/API/User/Profile.hs
@@ -68,9 +68,9 @@ import qualified Data.Swagger as S
import qualified Data.Swagger.Build.Api as Doc
import qualified Data.Text as Text
import Imports
-import Wire.API.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
import Wire.API.Asset (AssetKey (..))
import Wire.API.User.Orphans ()
+import Wire.Arbitrary (Arbitrary (arbitrary), GenericUniform (..))
--------------------------------------------------------------------------------
-- Name
diff --git a/libs/wire-api/src/Wire/API/User/RichInfo.hs b/libs/wire-api/src/Wire/API/User/RichInfo.hs
index c9debf31d91..d0a7be408dc 100644
--- a/libs/wire-api/src/Wire/API/User/RichInfo.hs
+++ b/libs/wire-api/src/Wire/API/User/RichInfo.hs
@@ -63,7 +63,7 @@ import qualified Data.Swagger.Build.Api as Doc
import qualified Data.Text as Text
import Imports
import qualified Test.QuickCheck as QC
-import Wire.API.Arbitrary (Arbitrary (arbitrary))
+import Wire.Arbitrary (Arbitrary (arbitrary))
--------------------------------------------------------------------------------
-- RichInfo
diff --git a/libs/wire-api/src/Wire/API/User/Scim.hs b/libs/wire-api/src/Wire/API/User/Scim.hs
index d77d06deb3d..129ec635312 100644
--- a/libs/wire-api/src/Wire/API/User/Scim.hs
+++ b/libs/wire-api/src/Wire/API/User/Scim.hs
@@ -84,11 +84,11 @@ import Web.Scim.Schema.Schema (Schema (CustomSchema))
import qualified Web.Scim.Schema.Schema as Scim
import qualified Web.Scim.Schema.User as Scim
import qualified Web.Scim.Schema.User as Scim.User
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.User.Identity (Email)
import Wire.API.User.Profile as BT
import qualified Wire.API.User.RichInfo as RI
import Wire.API.User.Saml ()
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
----------------------------------------------------------------------------
-- Schemas
diff --git a/libs/wire-api/src/Wire/API/User/Search.hs b/libs/wire-api/src/Wire/API/User/Search.hs
index bf0790a18a2..86732ebc52b 100644
--- a/libs/wire-api/src/Wire/API/User/Search.hs
+++ b/libs/wire-api/src/Wire/API/User/Search.hs
@@ -54,10 +54,10 @@ import qualified Data.Text as T
import Imports
import Servant.API (FromHttpApiData)
import Web.Internal.HttpApiData (parseQueryParam)
-import Wire.API.Arbitrary (Arbitrary, GenericUniform (..))
import Wire.API.Team.Role (Role)
import Wire.API.User (ManagedBy)
import Wire.API.User.Identity (Email (..))
+import Wire.Arbitrary (Arbitrary, GenericUniform (..))
--------------------------------------------------------------------------------
-- SearchResult
diff --git a/libs/wire-api/src/Wire/API/UserMap.hs b/libs/wire-api/src/Wire/API/UserMap.hs
index 25547ea6feb..81916f85710 100644
--- a/libs/wire-api/src/Wire/API/UserMap.hs
+++ b/libs/wire-api/src/Wire/API/UserMap.hs
@@ -31,8 +31,8 @@ import qualified Data.Text as Text
import Data.Typeable (typeRep)
import Imports
import Test.QuickCheck (Arbitrary (..))
-import Wire.API.Arbitrary (generateExample, mapOf')
import Wire.API.Wrapped (Wrapped)
+import Wire.Arbitrary (generateExample, mapOf')
newtype UserMap a = UserMap {userMap :: Map UserId a}
deriving stock (Eq, Show)
diff --git a/libs/wire-api/test/unit/Test/Wire/API/Call/Config.hs b/libs/wire-api/test/unit/Test/Wire/API/Call/Config.hs
index a7106562c52..57cb41f4c05 100644
--- a/libs/wire-api/test/unit/Test/Wire/API/Call/Config.hs
+++ b/libs/wire-api/test/unit/Test/Wire/API/Call/Config.hs
@@ -22,8 +22,8 @@ import qualified Data.Aeson.KeyMap as KeyMap
import Imports
import Test.Tasty
import Test.Tasty.QuickCheck hiding (total)
-import Wire.API.Arbitrary ()
import Wire.API.Call.Config (RTCConfiguration, TurnURI, isTcp, isTls, isUdp, limitServers)
+import Wire.Arbitrary ()
tests :: TestTree
tests =
diff --git a/libs/wire-api/test/unit/Test/Wire/API/Roundtrip/ByteString.hs b/libs/wire-api/test/unit/Test/Wire/API/Roundtrip/ByteString.hs
index 38e4ac790a8..6240b9c361b 100644
--- a/libs/wire-api/test/unit/Test/Wire/API/Roundtrip/ByteString.hs
+++ b/libs/wire-api/test/unit/Test/Wire/API/Roundtrip/ByteString.hs
@@ -22,7 +22,6 @@ import Imports
import qualified Test.Tasty as T
import Test.Tasty.QuickCheck (Arbitrary, counterexample, testProperty, (===))
import Type.Reflection (typeRep)
-import qualified Wire.API.Arbitrary as Arbitrary ()
import qualified Wire.API.Asset as Asset
import qualified Wire.API.Call.Config as Call.Config
import qualified Wire.API.Conversation.Code as Conversation.Code
@@ -42,6 +41,7 @@ import qualified Wire.API.User.IdentityProvider as User.IdentityProvider
import qualified Wire.API.User.Password as User.Password
import qualified Wire.API.User.Profile as User.Profile
import qualified Wire.API.User.Search as User.Search
+import qualified Wire.Arbitrary as Arbitrary ()
tests :: T.TestTree
tests =
diff --git a/libs/wire-api/wire-api.cabal b/libs/wire-api/wire-api.cabal
index 1a623b3a017..622041a2522 100644
--- a/libs/wire-api/wire-api.cabal
+++ b/libs/wire-api/wire-api.cabal
@@ -13,7 +13,6 @@ build-type: Simple
library
-- cabal-fmt: expand src
exposed-modules:
- Wire.API.Arbitrary
Wire.API.Asset
Wire.API.Call.Config
Wire.API.Connection
diff --git a/services/brig/src/Brig/Options.hs b/services/brig/src/Brig/Options.hs
index 1aa0d3cbb51..283969b5d89 100644
--- a/services/brig/src/Brig/Options.hs
+++ b/services/brig/src/Brig/Options.hs
@@ -51,10 +51,10 @@ import Imports
import qualified Network.DNS as DNS
import System.Logger.Extended (Level, LogFormat)
import Util.Options
-import Wire.API.Arbitrary (Arbitrary, arbitrary)
import qualified Wire.API.Team.Feature as Public
import Wire.API.User
import Wire.API.User.Search (FederatedUserSearchPolicy)
+import Wire.Arbitrary (Arbitrary, arbitrary)
newtype Timeout = Timeout
{ timeoutDiff :: NominalDiffTime
diff --git a/services/federator/src/Federator/Monitor/Internal.hs b/services/federator/src/Federator/Monitor/Internal.hs
index 219acaa6c8e..a7fa5c05afa 100644
--- a/services/federator/src/Federator/Monitor/Internal.hs
+++ b/services/federator/src/Federator/Monitor/Internal.hs
@@ -45,7 +45,7 @@ import qualified System.Logger.Message as Log
import System.Posix.ByteString (RawFilePath)
import System.Posix.Files
import System.X509
-import Wire.API.Arbitrary
+import Wire.Arbitrary
import qualified Wire.Sem.Logger.TinyLog as Log
data Monitor = Monitor