Skip to content

Commit

Permalink
Merge pull request 0xHericles#81 from pod-cast/tests/unit
Browse files Browse the repository at this point in the history
tests: logger and argparse
  • Loading branch information
matheuscmelo authored Nov 17, 2019
2 parents 46e110a + 3b51f28 commit 60e2dd1
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 1 deletion.
23 changes: 22 additions & 1 deletion tests/test_cast.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import unittest
from random import randint

from cast.app import app, create_parser
from cast.app import app, create_parser, socketio
from cast.logger import Logging

import os
import shlex


class CastShRouteTests(unittest.TestCase):
Expand All @@ -14,6 +18,14 @@ def test_home_status_code(self):
result = self.app.get("/")
self.assertEqual(result.status_code, 200)

def test_cast_status_code(self):
result = self.app.get("/cast")
self.assertEqual(result.status_code, 302)

def test_not_found_404_code(self):
result = self.app.get("/nonexistingroute")
self.assertEqual(result.status_code, 404)

def test_download_404_code(self):
result = self.app.get("/download/")
self.assertEqual(result.status_code, 404)
Expand Down Expand Up @@ -63,3 +75,12 @@ def test_bad_version(self):
with self.assertRaises(SystemExit):
args = self.parser.parse_args(["--help"])
self.assertFalse(args.version)

def test_default_password(self):
args = self.parser.parse_args([])
self.assertEqual(args.password, "admin")

def test_password(self):
password = str("ItsMySecret")
args = self.parser.parse_args(["--password", password])
self.assertEqual(args.password, password)
58 changes: 58 additions & 0 deletions tests/test_logger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import unittest
from random import randint

from cast.logger import Logging

import os


class CastShLoggingTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
session_id = str(randint(1, 100000))
logger = Logging(session_id)
cls.session_id = session_id
cls.logger = logger
cls.logger.make_log_folder()

def test_logger_properties(self):
self.assertEqual(self.logger.folder, r"cast/log_data")
self.assertEqual(
self.logger.file_location, r"cast/log_data/log_" + self.session_id + r".log"
)

def test_log_folder_creation(self):
self.assertTrue(os.path.exists(self.logger.folder))
creation_status = self.logger.make_log_folder()
self.assertEqual(creation_status, "Folder already exists")

def test_log_file_creation(self):
self.logger.write_log("test")
self.assertTrue(os.path.exists(self.logger.file_location))

def test_log_erase(self):
self.logger.write_log("test")

with open(self.logger.file_location, "r") as file:
data = file.read().replace("\n", "")

self.logger.write_log(b"\x7f".decode())

with open(self.logger.file_location, "r") as file:
erased_data = file.read().replace("\n", "")

self.assertNotEqual(data, erased_data)
self.assertEqual(erased_data, data[:-1])

def test_log_time(self):
self.logger.write_log("test")

with open(self.logger.file_location, "r") as file:
data = file.read().replace("\n", "")

self.logger.write_log(b"\r".decode())

with open(self.logger.file_location, "r") as file:
erased_data = file.read().replace("\n", "")

self.assertNotEqual(data, erased_data)

0 comments on commit 60e2dd1

Please sign in to comment.