aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.v5
-rwxr-xr-xmini-servicebin0 -> 97216 bytes
-rw-r--r--mini-service.v5
-rw-r--r--ms_core/system_id.v17
-rw-r--r--ms_core/system_id_test.v24
5 files changed, 46 insertions, 5 deletions
diff --git a/main.v b/main.v
deleted file mode 100644
index edf2574..0000000
--- a/main.v
+++ /dev/null
@@ -1,5 +0,0 @@
-module main
-
-fn main() {
- println('Hello World!')
-}
diff --git a/mini-service b/mini-service
new file mode 100755
index 0000000..ab1711f
--- /dev/null
+++ b/mini-service
Binary files differ
diff --git a/mini-service.v b/mini-service.v
new file mode 100644
index 0000000..d1e63f6
--- /dev/null
+++ b/mini-service.v
@@ -0,0 +1,5 @@
+module main
+
+fn main() {
+ println('Hello mini service!')
+}
diff --git a/ms_core/system_id.v b/ms_core/system_id.v
new file mode 100644
index 0000000..4413b75
--- /dev/null
+++ b/ms_core/system_id.v
@@ -0,0 +1,17 @@
+module ms_core
+
+import crypto.rand
+
+pub struct SystemId {
+mut:
+ base [16]u8
+}
+
+pub fn get_new_system_id() !SystemId {
+ bytes := rand.bytes(16) or { panic('Could not retireve 16 randrom bytes for system_id!') }
+ mut base := [16]u8{}
+ copy(mut base, bytes)
+ return SystemId{
+ base: base
+ }
+}
diff --git a/ms_core/system_id_test.v b/ms_core/system_id_test.v
new file mode 100644
index 0000000..08a893d
--- /dev/null
+++ b/ms_core/system_id_test.v
@@ -0,0 +1,24 @@
+module ms_core
+
+fn test_generate_system_id() {
+ id := get_new_system_id() or {
+ assert false, 'failed to generate SystemId: ${err}'
+ return
+ }
+
+ assert id.base.len == 16
+}
+
+fn test_system_ids_are_unique() {
+ id1 := get_new_system_id() or {
+ assert false, 'failed to generate first SystemId: ${err}'
+ return
+ }
+
+ id2 := get_new_system_id() or {
+ assert false, 'failed to generate second SystemId: ${err}'
+ return
+ }
+
+ assert id1.base != id2.base
+}