the-custodian/docs/changes/netkingdom-target-2026-10-16/native-preflight-r1/test_resources.py
codex cf59a5f9ab
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Reject generated-only commits / generated-commit-guard (push) Successful in 7s
Retain native preflight and independent signer rollout reviews
2026-10-16 21:28:42 +02:00

20 lines
1.8 KiB
Python

import unittest
from decimal import Decimal
from analyze_resources import objects,quantity,analyze
class Checks(unittest.TestCase):
def test_adjacent(self):self.assertEqual(objects('{} {"requests":{"cpu":"10m"}}'),[{}, {'requests':{'cpu':'10m'}}])
def test_bad_stream(self):
for text in ['{} secret','{} []','null']:
with self.assertRaises(ValueError):objects(text)
def test_units(self):
self.assertEqual(quantity('1','cpu'),1000);self.assertEqual(quantity('25m','cpu'),25);self.assertEqual(quantity('32Mi','memory'),33554432)
def test_scheduler(self):
def row(phase='Running'):
return {'status.phase':phase,'spec.nodeName':'node','spec.containers[*].resources':'{"requests":{"cpu":"10m","memory":"1Mi"}} {"requests":{"cpu":"20m"}}','spec.initContainers[*].resources':{'requests':{'cpu':'100m'}},'spec.overhead':{'cpu':'2m'},'spec.initContainers[*].restartPolicy':None,'spec.resources':None}
supplement={'nodes':{'rows':[{'metadata.name':'node','status.addresses':[{'address':'92.205.62.239'}],'status.allocatable':{'cpu':'1','memory':'1Gi'}}]},'pods':{'rows':[row(),row('Succeeded')]}}
result=analyze({},supplement);self.assertEqual(Decimal(result['requested_cpu_m']),102);self.assertEqual(result['nonterminal_bound_pods'],1)
def test_restartable_conservative(self):
r={'status.phase':'Running','spec.nodeName':'n','spec.containers[*].resources':{'requests':{'cpu':'20m'}},'spec.initContainers[*].resources':{'requests':{'cpu':'100m'}},'spec.overhead':None,'spec.initContainers[*].restartPolicy':'Always','spec.resources':None}
s={'nodes':{'rows':[{'metadata.name':'n','status.addresses':[{'address':'92.205.62.239'}],'status.allocatable':{'cpu':'1','memory':'1Gi'}}]},'pods':{'rows':[r]}}
self.assertEqual(Decimal(analyze({},s)['requested_cpu_m']),120)
if __name__=='__main__':unittest.main()