Spaces:
Runtime error
Runtime error
File size: 1,640 Bytes
a2eaad1 23ded75 e950355 9506837 23ded75 e950355 9506837 23ded75 9506837 23ded75 9506837 e950355 23ded75 9506837 23ded75 9506837 e950355 9506837 e950355 9506837 a2eaad1 e950355 a2eaad1 23ded75 9506837 e4b1e43 a2eaad1 e4b1e43 23ded75 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import sys, os
import pytest
import torch
from unittest.mock import MagicMock
# --- Create dummy replacements ---
class DummyTokenizer:
pad_token_id = 0
eos_token_id = 1
chat_template = "{% for message in messages %}{{ message['role'] }}: {{ message['content'] }}{% endfor %}"
def apply_chat_template(self, conv, tokenize=False, add_generation_prompt=True):
return "mock_prompt"
def __call__(self, prompt, return_tensors=None):
# Must look like transformers output
return {"input_ids": torch.tensor([[0, 1]])}
def decode(self, tokens, skip_special_tokens=True):
return "• Easy switch"
class DummyModel:
def to(self, device): return self
def eval(self): return self
def generate(self, **kwargs): return torch.tensor([[0, 1, 2, 3]])
# --- Insert mocks into sys.modules before app is imported ---
sys.modules["transformers"] = MagicMock(
AutoTokenizer=MagicMock(from_pretrained=lambda *a, **kw: DummyTokenizer()),
AutoModelForCausalLM=MagicMock(from_pretrained=lambda *a, **kw: DummyModel())
)
# Now safe to import app
import app
# ================== Tests ==================
def test_calculate_footprint():
total, stats = app.calculate_footprint(
car_km=10, bus_km=5, train_km=2, air_km_week=50,
meat_meals=3, vegetarian_meals=2, vegan_meals=1,
)
assert total > 0
assert "trees" in stats
assert isinstance(stats["trees"], int)
def test_chat_mock_runs():
out = app.chat(messages=[{"role": "user", "content": "Hello"}], history=[])
assert isinstance(out, str)
assert "Easy switch" in out or "•" in out
|