61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
import io
 | 
						|
import unittest
 | 
						|
import json
 | 
						|
import yaml
 | 
						|
 | 
						|
 | 
						|
class TestDocs(unittest.TestCase):
 | 
						|
    @classmethod
 | 
						|
    def setUpClass(cls) -> None:
 | 
						|
        from WebHostLib import app as raw_app
 | 
						|
        from WebHost import get_app
 | 
						|
        raw_app.config["PONY"] = {
 | 
						|
            "provider": "sqlite",
 | 
						|
            "filename": ":memory:",
 | 
						|
            "create_db": True,
 | 
						|
        }
 | 
						|
        raw_app.config.update({
 | 
						|
            "TESTING": True,
 | 
						|
        })
 | 
						|
        app = get_app()
 | 
						|
 | 
						|
        cls.client = app.test_client()
 | 
						|
 | 
						|
    def test_correct_error_empty_request(self):
 | 
						|
        response = self.client.post("/api/generate")
 | 
						|
        self.assertIn("No options found. Expected file attachment or json weights.", response.text)
 | 
						|
 | 
						|
    def test_generation_queued_weights(self):
 | 
						|
        options = {
 | 
						|
            "Tester1":
 | 
						|
                {
 | 
						|
                    "game": "Archipelago",
 | 
						|
                    "name": "Tester",
 | 
						|
                    "Archipelago": {}
 | 
						|
                }
 | 
						|
        }
 | 
						|
        response = self.client.post(
 | 
						|
            "/api/generate",
 | 
						|
            data=json.dumps({"weights": options}),
 | 
						|
            content_type='application/json'
 | 
						|
        )
 | 
						|
        json_data = response.get_json()
 | 
						|
        self.assertTrue(json_data["text"].startswith("Generation of seed "))
 | 
						|
        self.assertTrue(json_data["text"].endswith(" started successfully."))
 | 
						|
 | 
						|
    def test_generation_queued_file(self):
 | 
						|
        options = {
 | 
						|
            "game": "Archipelago",
 | 
						|
            "name": "Tester",
 | 
						|
            "Archipelago": {}
 | 
						|
        }
 | 
						|
        response = self.client.post(
 | 
						|
            "/api/generate",
 | 
						|
            data={
 | 
						|
                'file': (io.BytesIO(yaml.dump(options, encoding="utf-8")), "test.yaml")
 | 
						|
            },
 | 
						|
        )
 | 
						|
        json_data = response.get_json()
 | 
						|
        self.assertTrue(json_data["text"].startswith("Generation of seed "))
 | 
						|
        self.assertTrue(json_data["text"].endswith(" started successfully."))
 |