1{-# LANGUAGE OverloadedStrings #-}
3module Test.Indices where
8import qualified Data.List as L
9import qualified Data.List.NonEmpty as NE
13 describe "Index create/delete API" $ do
14 it "creates and then deletes the requested index" $ withTestEnv $ do
16 _ <- deleteExampleIndex
17 resp <- createExampleIndex
18 deleteResp <- deleteExampleIndex
20 validateStatus resp 200
21 validateStatus deleteResp 200
23 describe "Index aliases" $ do
24 let aname = IndexAliasName (IndexName "bloodhound-tests-twitter-1-alias")
25 let alias = IndexAlias (testIndex) aname
26 let create = IndexAliasCreate Nothing Nothing
27 let action = AddAlias alias create
28 it "handles the simple case of aliasing an existing index" $ do
31 resp <- updateIndexAliases (action :| [])
32 liftIO $ validateStatus resp 200
33 let cleanup = withTestEnv (updateIndexAliases (RemoveAlias alias :| []))
34 (do aliases <- withTestEnv getIndexAliases
35 let expected = IndexAliasSummary alias create
37 Right (IndexAliasesSummary summs) ->
38 L.find ((== alias) . indexAliasSummaryAlias) summs `shouldBe` Just expected
39 Left e -> expectationFailure ("Expected an IndexAliasesSummary but got " <> show e)) `finally` cleanup
41 describe "Index Listing" $ do
42 it "returns a list of index names" $ withTestEnv $ do
43 _ <- createExampleIndex
45 liftIO (ixns `shouldContain` [testIndex])
47 describe "Index Settings" $ do
48 it "persists settings" $ withTestEnv $ do
49 _ <- deleteExampleIndex
50 _ <- createExampleIndex
51 let updates = BlocksWrite False :| []
52 updateResp <- updateIndexSettings updates testIndex
53 liftIO $ validateStatus updateResp 200
54 getResp <- getIndexSettings testIndex
56 getResp `shouldBe` Right (IndexSettingsSummary
58 (IndexSettings (ShardCount 1) (ReplicaCount 0))
61 it "allows total fields to be set" $ when' (atleast es50) $ withTestEnv $ do
62 _ <- deleteExampleIndex
63 _ <- createExampleIndex
64 let updates = FailOnMergeFailure True :| []
65 updateResp <- updateIndexSettings updates testIndex
66 liftIO $ validateStatus updateResp 200
67 getResp <- getIndexSettings testIndex
69 getResp `shouldBe` Right (IndexSettingsSummary
71 (IndexSettings (ShardCount 1) (ReplicaCount 0))
74 describe "Index Optimization" $ do
75 it "returns a successful response upon completion" $ withTestEnv $ do
76 _ <- createExampleIndex
77 resp <- optimizeIndex (IndexList (testIndex :| [])) defaultIndexOptimizationSettings
78 liftIO $ validateStatus resp 200
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list