diff --git a/.gitattributes b/.gitattributes
index 412eeda78dc9de1186c2e0e1526764af82ab3431..c03370bd5793e22bb598ab03da34164a14ff5776 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,5 +1,6 @@
 # Auto detect text files and perform LF normalization
 * text=auto
+*.sh text eol=lf
 
 # Custom for Visual Studio
 *.cs     diff=csharp
diff --git a/Dockerfile b/Dockerfile
index 23e3c9579671576cf6dce6d00b500f5959384bec..36434cf8ebf8a6a9493e1972ad088e840b807f19 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,6 +7,9 @@ RUN pip install nose2 mock coverage
 ADD satella /app/satella
 ADD tests /app/tests
 
+ADD tests/test_docker.sh /test_docker.sh
+RUN chmod ugo+x /test_docker.sh
+
 WORKDIR /app
 
-CMD ["coverage", "run", "--multiprocessing", "-m", "nose2", "-vv"]
+CMD ["/test_docker.sh"]
diff --git a/satella/cassandra/__init__.py b/satella/cassandra/__init__.py
index 15cdab0e27f0ca532a19d2fcbedec8fc21f3f4cf..9791250702cb47a1e98419237429d356d03e5a6b 100644
--- a/satella/cassandra/__init__.py
+++ b/satella/cassandra/__init__.py
@@ -29,12 +29,16 @@ def parallel_for(cursor, query: tp.Union[tp.List[str], str, 'Statement', tp.List
     :param query: base query or a list of queries, if a different one is to be used
     :param arguments: iterable yielding arguments to use in execute_async
     """
-    from cassandra.query import Statement
+    try:
+        from cassandra.query import Statement
+        query_classes = (str, Statement)
+    except ImportError:
+        query_classes = str
 
-    if isinstance(query, (str, Statement)):
+    if isinstance(query, query_classes):
         query = itertools.repeat(query)
-    futures = []
 
+    futures = []
     for query, args in zip(query, arguments):
         if args is None:
             future = cursor.execute_async(query)
diff --git a/satella/os/signals.py b/satella/os/signals.py
index b924de564cb6eb9fd287b26bc5b3ca0458bef9b5..62a57475251c0d9e3fc98c1126c465de09f61411 100644
--- a/satella/os/signals.py
+++ b/satella/os/signals.py
@@ -1,7 +1,8 @@
 import signal
-from satella.time import sleep
 import typing as tp
 
+from satella.time import sleep
+
 end = False
 
 
diff --git a/tests/test_docker.sh b/tests/test_docker.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e0c45d054a1521edf8b57564a1a843a218c7ba24
--- /dev/null
+++ b/tests/test_docker.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -e
+
+coverage run --parallel-mode -m nose2 -vv
+coverage combine
+coverage report