Skip to content

Commit c3c5f1a

Browse files
committed
RDBC-790 Basic embedded server test
1 parent e0493e9 commit c3c5f1a

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

tests/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class Person:
2+
def __init__(self, Id: str = None, name: str = None):
3+
self.Id = Id
4+
self.name = name

tests/test_basic.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import shutil
2+
import tempfile
3+
from pathlib import Path
4+
from unittest import TestCase
5+
6+
from ravendb_embedded.embedded_server import EmbeddedServer
7+
from ravendb_embedded.options import ServerOptions, DatabaseOptions
8+
from ravendb_embedded.provide import CopyServerFromNugetProvider
9+
from tests import Person
10+
11+
12+
class BasicTest(TestCase):
13+
def test_embedded(self):
14+
temp_dir = tempfile.mkdtemp()
15+
try:
16+
with EmbeddedServer() as embedded:
17+
server_options = ServerOptions()
18+
server_options.target_server_location = str(Path(temp_dir, "RavenDBServer"))
19+
server_options.data_directory = str(Path(temp_dir, "RavenDB"))
20+
server_options.logs_path = str(Path(temp_dir, "Logs"))
21+
server_options.provider = CopyServerFromNugetProvider()
22+
server_options.command_line_args = ["--Features.Availability=Experimental"]
23+
embedded.start_server(server_options)
24+
25+
database_options = DatabaseOptions.from_database_name("Test")
26+
database_options.conventions.save_enums_as_integers = True
27+
28+
with embedded.get_document_store_from_options(database_options) as store:
29+
self.assertTrue(store.conventions.save_enums_as_integers)
30+
self.assertTrue(store.get_request_executor().conventions.save_enums_as_integers)
31+
32+
with store.open_session() as session:
33+
person = Person()
34+
person.name = "John"
35+
36+
session.store(person, "people/1")
37+
session.save_changes()
38+
39+
with EmbeddedServer() as embedded:
40+
server_options = ServerOptions()
41+
server_options.target_server_location = str(Path(temp_dir, "RavenDBServer"))
42+
server_options.data_directory = str(Path(temp_dir, "RavenDB"))
43+
server_options.provider = CopyServerFromNugetProvider()
44+
embedded.start_server(server_options)
45+
46+
with embedded.get_document_store("Test") as store:
47+
self.assertFalse(store.conventions.save_enums_as_integers)
48+
self.assertFalse(store.get_request_executor().conventions.save_enums_as_integers)
49+
50+
with store.open_session() as session:
51+
person = session.load("people/1", Person)
52+
53+
self.assertIsNotNone(person)
54+
self.assertEqual(person.name, "John")
55+
56+
finally:
57+
shutil.rmtree(temp_dir)

0 commit comments

Comments
 (0)