Beispiel #1
0
 def test_nested(self):
     self.assertEquals(py2nix([nix2py("a\nb\nc")], maxwidth=0), "[\n  (a\n  b\n  c)\n]")
     self.assertEquals(
         py2nix({"foo": nix2py("a\nb\nc"), "bar": nix2py("d\ne\nf")}, maxwidth=0),
         # ugly, but probably won't happen in practice
         "{\n  bar = d\n  e\n  f;\n  foo = a\n  b\n  c;\n}",
     )
Beispiel #2
0
 def test_nested(self):
     self.assertEquals(py2nix([nix2py('a\nb\nc')], maxwidth=0),
                       '[\n  (a\n  b\n  c)\n]')
     self.assertEquals(py2nix({'foo': nix2py('a\nb\nc'),
                               'bar': nix2py('d\ne\nf')}, maxwidth=0),
                       # ugly, but probably won't happen in practice
                       '{\n  bar = d\n  e\n  f;\n  foo = a\n  b\n  c;\n}')
Beispiel #3
0
 def get_physical_spec(self):
     if all([self.net_info, self.fs_info, self.hw_info]):
         return {
             'config': self.net_info,
             'imports': [nix2py(self.fs_info), nix2py(self.hw_info)],
         }
     else:
         return {}
Beispiel #4
0
 def get_physical_spec(self):
     if all([self.net_info, self.fs_info, self.hw_info]):
         return {
             'config': self.net_info,
             'imports': [nix2py(self.fs_info), nix2py(self.hw_info)],
         }
     else:
         return {}
Beispiel #5
0
 def test_nested(self):
     self.assertEqual(
         py2nix([nix2py("a\nb\nc")], maxwidth=0), "[\n  (a\n  b\n  c)\n]"
     )
     self.assertEqual(
         py2nix({"foo": nix2py("a\nb\nc"), "bar": nix2py("d\ne\nf")}, maxwidth=0),
         # ugly, but probably won't happen in practice
         "{\n  bar = d\n  e\n  f;\n  foo = a\n  b\n  c;\n}",
     )
Beispiel #6
0
 def test_nested(self):
     self.assertEquals(py2nix([nix2py('a\nb\nc')], maxwidth=0),
                       '[\n  (a\n  b\n  c)\n]')
     self.assertEquals(
         py2nix({
             'foo': nix2py('a\nb\nc'),
             'bar': nix2py('d\ne\nf')
         },
                maxwidth=0),
         # ugly, but probably won't happen in practice
         '{\n  bar = d\n  e\n  f;\n  foo = a\n  b\n  c;\n}')
Beispiel #7
0
 def get_physical_spec(self):
     if all([self.net_info, self.fs_info, self.hw_info,
             self.main_ssh_public_key]):
         return {
             'config': dict(self.net_info.items() + {
                 ('users', 'extraUsers', 'root', 'openssh',
                  'authorizedKeys', 'keys'): [self.main_ssh_public_key]
             }.items()),
             'imports': [nix2py(self.fs_info), nix2py(self.hw_info)],
         }
     else:
         return {}
Beispiel #8
0
 def get_physical_spec_from_plan(self, public_key):
     return {
         "config": {
             ("users", "extraUsers", "root", "openssh", "authorizedKeys", "keys"):
             [public_key]
         },
         "imports": [nix2py(self.provSystem if self.provSystem else "{}")],
     }
Beispiel #9
0
 def get_physical_spec(self):
     spec = super().get_physical_spec()
     if self.hw_info:
         spec.setdefault("imports", []).append(nix2py(self.hw_info))
     if self.filesystems is not None:
         fs = spec.setdefault("config", {}).setdefault("fileSystems", {})
         fs.update(self.filesystems)
     return spec
 def get_physical_spec(self):
     if all([self.net_info, self.fs_info, self.hw_info, self.main_ssh_public_key]):
         return {
             "config": {
                 **self.net_info,
                 **{
                     (
                         "users",
                         "extraUsers",
                         "root",
                         "openssh",
                         "authorizedKeys",
                         "keys",
                     ): [self.main_ssh_public_key]
                 },
             },
             "imports": [nix2py(self.fs_info), nix2py(self.hw_info)],
         }
     else:
         return {}
Beispiel #11
0
 def test_simple(self):
     self.assertEquals(py2nix(nix2py("{\na = b;\n}"), maxwidth=0),
                       "{\na = b;\n}")
     self.assertEquals(py2nix(nix2py("\n{\na = b;\n}\n"), maxwidth=0),
                       "{\na = b;\n}")
Beispiel #12
0
 def test_simple(self):
     self.assertEquals(py2nix(nix2py('{\na = b;\n}'), maxwidth=0),
                       '{\na = b;\n}')
     self.assertEquals(py2nix(nix2py('\n{\na = b;\n}\n'), maxwidth=0),
                       '{\na = b;\n}')
Beispiel #13
0
 def get_physical_spec_from_plan(self, public_key):
     return {
         'config': { ('users', 'extraUsers', 'root', 'openssh', 'authorizedKeys', 'keys'): [public_key] },
         'imports': [ nix2py(self.provSystem if self.provSystem else '{}') ],
     }
Beispiel #14
0
 def test_simple(self):
     self.assertEquals(py2nix(nix2py("{\na = b;\n}"), maxwidth=0), "{\na = b;\n}")
     self.assertEquals(py2nix(nix2py("\n{\na = b;\n}\n"), maxwidth=0), "{\na = b;\n}")
Beispiel #15
0
 def test_simple(self):
     self.assertEquals(py2nix(nix2py('{\na = b;\n}'), maxwidth=0),
                       '{\na = b;\n}')
     self.assertEquals(py2nix(nix2py('\n{\na = b;\n}\n'), maxwidth=0),
                       '{\na = b;\n}')