def test_adding_document_to_corpus_fails(self, mocked_post): mocked_post.return_value.status_code = 403 session = requests.Session() session.auth = ('wrong_user', 'my_precious') corpus = Corpus(session=session, **self.example_json) with self.assertRaises(RuntimeError): corpus.add_document("example.pdf")
def test_add_document_to_corpus(self, mocked_post): mocked_post.return_value.status_code = 201 mocked_post.return_value.json.return_value = self.example_document corpus = Corpus(session=self.session, **self.example_json) result = corpus.add_document("content.") # requests takes either a file-like object or a string. Both should # work. files = {"blob": "content."} data = {"corpus": corpus.url} mocked_post.assert_called_with("http://pypln.example.com/documents/", data=data, files=files) self.assertIs(type(result), Document) for key, value in self.example_document.items(): if key == 'properties': key = 'properties_url' self.assertEqual(value, getattr(result, key))