@@ -187,6 +187,12 @@ insertOther = do
187 _ <- refreshIndex testIndex
187 _ <- refreshIndex testIndex
188 return ()
188 return ()
190+insertOtherWithSpaceInId :: BH IO ()
191+insertOtherWithSpaceInId = do
192+ _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings otherTweet (DocId "Hello World")
193+ _ <- refreshIndex testIndex
190searchTweet :: Search -> BH IO (Either String Tweet)
196searchTweet :: Search -> BH IO (Either String Tweet)
191searchTweet search = do
197searchTweet search = do
192 result <- searchTweets search
198 result <- searchTweets search
@@ -329,6 +335,13 @@ main = hspec $ do
329 (responseBody docInserted) :: Either String (EsResult Tweet)
335 (responseBody docInserted) :: Either String (EsResult Tweet)
330 liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
336 liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
338+ it "indexes, gets, and then deletes the generated document with a DocId containing a space" $ withTestEnv $ do
339+ _ <- insertOtherWithSpaceInId
340+ docInserted <- getDocument testIndex testMapping (DocId "Hello World")
341+ let newTweet = eitherDecode
342+ (responseBody docInserted) :: Either String (EsResult Tweet)
343+ liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
332 it "produces a parseable result when looking up a bogus document" $ withTestEnv $ do
345 it "produces a parseable result when looking up a bogus document" $ withTestEnv $ do
333 doc <- getDocument testIndex testMapping (DocId "bogus")
346 doc <- getDocument testIndex testMapping (DocId "bogus")
334 let noTweet = eitherDecode
347 let noTweet = eitherDecode
@@ -834,6 +847,6 @@ main = hspec $ do
834 scan_search' <- scanSearch testIndex testMapping search :: BH IO [Hit Tweet]
847 scan_search' <- scanSearch testIndex testMapping search :: BH IO [Hit Tweet]
835 let scan_search = map hitSource scan_search'
848 let scan_search = map hitSource scan_search'
837− regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored
850+ regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored
839 scan_search `shouldMatchList` [exampleTweet, otherTweet]
852 scan_search `shouldMatchList` [exampleTweet, otherTweet]