feat: initial commit - Carinha Control Panel v1.0 com UI glassmorphism, watch-bar, emojis, braco robotico e conversa IA
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import unittest,tempfile,os,json
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
import gemini
|
||||
from api_config import ConfigAPI
|
||||
class APIConfigTest(unittest.TestCase):
|
||||
def test_persistencia_e_sem_chave_na_resposta(self):
|
||||
with tempfile.TemporaryDirectory() as d,patch.dict(os.environ,{'GEMINI_API_KEY':'teste-chave-original-123456'}),patch.object(gemini,'MODELO','modelo-original'):
|
||||
p=Path(d)/'api.json';c=ConfigAPI(p);secret='nova-chave-de-teste-123456'
|
||||
status=c.salvar(dict(modelo='gemini-flash-lite-latest',chave=secret))
|
||||
self.assertNotIn(secret,json.dumps(status));self.assertTrue(status['configurada'])
|
||||
c.salvar(dict(modelo='gemini-flash-latest'));self.assertEqual(json.loads(p.read_text())['chave'],secret)
|
||||
loaded=ConfigAPI(p);self.assertEqual(loaded.status()['modelo'],'gemini-flash-latest')
|
||||
def test_teste_de_conexao_e_validacao(self):
|
||||
with tempfile.TemporaryDirectory() as d:
|
||||
c=ConfigAPI(Path(d)/'api.json')
|
||||
with self.assertRaises(ValueError):c.salvar(dict(modelo='../invalido',chave='abc'))
|
||||
with patch('gemini.gerar_json',return_value={'ok':True}):self.assertTrue(c.testar()['ok'])
|
||||
with patch('gemini.gerar_json',side_effect=RuntimeError('segredo')):
|
||||
result=c.testar();self.assertFalse(result['ok']);self.assertNotIn('segredo',json.dumps(result))
|
||||
Reference in New Issue
Block a user