From 8a9b8c9be949057c9f236ece99729fbae7238225 Mon Sep 17 00:00:00 2001 From: Nicolas Pouillard <nicolas.pouillard@gmail.com> Date: Mon, 4 Feb 2019 16:23:46 +0100 Subject: [PATCH] [NGRAMS-REPO] Mock repo in dev-mode --- src/Gargantext/API/Ngrams.hs | 42 +++++++++++++++++++++------------- src/Gargantext/API/Settings.hs | 4 ++-- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/Gargantext/API/Ngrams.hs b/src/Gargantext/API/Ngrams.hs index 4fd956f4..7da33bbf 100644 --- a/src/Gargantext/API/Ngrams.hs +++ b/src/Gargantext/API/Ngrams.hs @@ -176,23 +176,25 @@ toNgramsElement ns = map toNgramsElement' ns $ map (\(NgramsTableData _ p t _ _ _) -> (p, Set.singleton t)) ns -} +mockTable :: NgramsTable +mockTable = NgramsTable + [ NgramsElement "animal" GraphList 1 Nothing (mSetFromList ["dog", "cat"]) + , NgramsElement "cat" GraphList 1 (Just "animal") mempty + , NgramsElement "cats" StopList 4 Nothing mempty + , NgramsElement "dog" GraphList 3 (Just "animal")(mSetFromList ["dogs"]) + , NgramsElement "dogs" StopList 4 (Just "dog") mempty + , NgramsElement "fox" GraphList 1 Nothing mempty + , NgramsElement "object" CandidateList 2 Nothing mempty + , NgramsElement "nothing" StopList 4 Nothing mempty + , NgramsElement "organic" GraphList 3 Nothing (mSetFromList ["flower"]) + , NgramsElement "flower" GraphList 3 (Just "organic") mempty + , NgramsElement "moon" CandidateList 1 Nothing mempty + , NgramsElement "sky" StopList 1 Nothing mempty + ] + instance Arbitrary NgramsTable where - arbitrary = elements - [ NgramsTable - [ NgramsElement "animal" GraphList 1 Nothing (mSetFromList ["dog", "cat"]) - , NgramsElement "cat" GraphList 1 (Just "animal") mempty - , NgramsElement "cats" StopList 4 Nothing mempty - , NgramsElement "dog" GraphList 3 (Just "animal")(mSetFromList ["dogs"]) - , NgramsElement "dogs" StopList 4 (Just "dog") mempty - , NgramsElement "fox" GraphList 1 Nothing mempty - , NgramsElement "object" CandidateList 2 Nothing mempty - , NgramsElement "nothing" StopList 4 Nothing mempty - , NgramsElement "organic" GraphList 3 Nothing (mSetFromList ["flower"]) - , NgramsElement "flower" GraphList 3 (Just "organic") mempty - , NgramsElement "moon" CandidateList 1 Nothing mempty - , NgramsElement "sky" StopList 1 Nothing mempty - ] - ] + arbitrary = pure mockTable + instance ToSchema NgramsTable ------------------------------------------------------------------------ @@ -547,6 +549,14 @@ type NgramsState = Map ListId (Map NgramsType NgramsTableMap) type NgramsStatePatch = PatchMap ListId (PatchMap NgramsType NgramsTablePatch) type NgramsRepo = Repo NgramsState NgramsStatePatch +initMockRepo :: NgramsRepo +initMockRepo = Repo 1 s [] + where + s = Map.singleton 1 + $ Map.singleton Ngrams.NgramsTerms + $ Map.fromList + [ (n ^. ne_ngrams, n) | n <- mockTable ^. _NgramsTable ] + class HasRepoVar env where repoVar :: Getter env (MVar NgramsRepo) diff --git a/src/Gargantext/API/Settings.hs b/src/Gargantext/API/Settings.hs index 620cd128..6bcd3b28 100644 --- a/src/Gargantext/API/Settings.hs +++ b/src/Gargantext/API/Settings.hs @@ -50,7 +50,7 @@ import Control.Monad.Logger import Control.Lens import Gargantext.Prelude import Gargantext.Database.Utils (databaseParameters, HasConnection(..)) -import Gargantext.API.Ngrams (NgramsRepo, HasRepoVar(..), initRepo) +import Gargantext.API.Ngrams (NgramsRepo, HasRepoVar(..), initMockRepo) import Gargantext.API.Orchestrator.Types type PortNumber = Int @@ -161,7 +161,7 @@ newEnv port file = do self_url <- parseBaseUrl $ "http://0.0.0.0:" <> show port param <- databaseParameters file conn <- connect param - repo_var <- newMVar initRepo + repo_var <- newMVar initMockRepo scrapers_env <- newJobEnv defaultSettings manager logger <- newStderrLoggerSet defaultBufSize pure $ Env -- 2.21.0