Special Offers
Contact Support Account
Laptops Desktops Servers Pop!_OS
We believe the computer and operating system are the most powerful and versatile tools ever created. Desktop operating systems have moved too far toward the casual user. We’re building an OS for the software developer, maker, and computer science professional who uses their computer as a tool to discover and create.
Welcome to
Pop!_OS
Download
Imagine
The Future of Automation
Code life into the machinery of the future. Everyone from hobbyist to factory automation professionals can leverage vast open source tools and a vibrant hardware ecosystem to create incredible robots to do nearly anything.
a sweet robot
Imagine
Development as a First-Class Citizen
The cloud and devices of the future are running Linux. Accelerate your productivity by developing on the same platform that you deploy to. Your tools and programming languages are supported natively and only a command away.
ben@pop-os:~/Projects/hal$ mix test --trace
Compiling 176 files (.ex)
Generated hal app
Hal.EncryptorTest
* test generates encrypted strings matching those generared by Joshua (5.4ms)
* test decrypts strings encrypted by Joshua (0.1ms)
Hal.NotificationTest
Hal.SupportActionTest
* test performing an illegal action returns an error (86.9ms)
* test performing a legal action succeeds (43.6ms)
* test performing an action as an unsupported role returns an error (16.4ms)
* test completing a legal action resolves requirements (34.5ms)
* test performing an action as an unauthenticated user returns an error (22.7ms)
* test completing a legal action creates new requirements (60.4ms)
* test invokes a system action check after a successful action is performed (23.5ms)
Hal.Type.JSONTest
* test type is a string (0.00ms)
* test cast accepts anything (0.00ms)
* test dump allows setting NULL (0.00ms)
* test dump stringifies to JSON (17.5ms)
* test load hydrates JSON (6.9ms)
* test load hydrates NULL columns (0.00ms)
JunctionBox.ParserTest
* test handles bare strings (0.01ms)
* test parses dot separated include paths (0.00ms)
* test only parses one level deep (0.00ms)
* test removes duplicates (0.01ms)
Hal.Type.OrderStatusTest
* test cast rejects unknown statuses (0.00ms)
* test cast accepts strings, atoms, and ints (0.00ms)
* test dumping an atom produces an integer (0.00ms)
* test loading an integer produces an atom (0.00ms)
Hal.Type.UnixTimestampTest
* test casts ISO 8601 strings to datetimes (0.04ms)
* test type is an integer (0.00ms)
* test dumping a datetime object produces an integer timestamp (0.00ms)
* test loading a timestamp returns a datetime object (0.01ms)
Hal.Type.IdListTest
* test cast returns lists of integers unaltered (0.00ms)
* test type is a string (0.00ms)
* test cast returns an error for non-list types (0.00ms)
* test dumping an empty list produces a JSON array containing the empty string (0.00ms)
* test dumping a list of integers produces a JSON array of integer strings (0.00ms)
* test loading a JSON array returns a list of integers (0.04ms)
* test loading a JSON array containing the empty string returns an empty list (0.00ms)
Hal.Type.CommaSeparatedListTest
* test cast returns lists of strings unaltered (0.00ms)
* test type is a string (0.00ms)
* test cast returns an error for non-list types (0.00ms)
* test dumping an empty list produces nil (0.00ms)
* test dumping a list of strings produces a comma separated list of strings (0.00ms)
* test loading a string returns a list of strings (0.00ms)
* test loading nil returns an empty list (0.00ms)
Hal.Plug.AuthenticatorTest
* test assigns current_user if a valid auth header is provided (17.3ms)
* test does nothing if no authentication header is present (19.2ms)
* test returns a 401 and halts if an invalid auth header is present (13.7ms)
* test returns a 401 and halts if an expired token is provided (4.5ms)
* test returns a 401 and halts if a malformed auth header is present (5.1ms)
* test returns a 401 and halts if multiple authentication headers are provided (13.5ms)
* test allows an authentication token to be provided as a GET parameter (34.7ms)
JunctionBoxTest
* test includes links if asked for (0.3ms)
* test passes through normal requests unaltered (0.1ms)
* test only alters GET requests (0.1ms)
* test handles includes for nonexistent links (0.1ms)
* test can include grandchildren (0.5ms)
* test handles errors on the original request (3.2ms)
* test handles errors on child requests (0.2ms)
Hal.ErrorViewTest
* test renders 404.json (0.3ms)
* test render 500.json (0.3ms)
* test render any other (1.0ms)
Hal.UserTest
* test changeset with valid attributes (0.4ms)
* test changeset with invalid attributes (0.2ms)
* test setting a password generates hashes matching the legacy system (0.2ms)
* test changing the email also sets the username (0.3ms)
* test authentication ma
Contact Support Account
Laptops Desktops Servers Pop!_OS
We believe the computer and operating system are the most powerful and versatile tools ever created. Desktop operating systems have moved too far toward the casual user. We’re building an OS for the software developer, maker, and computer science professional who uses their computer as a tool to discover and create.
Welcome to
Pop!_OS
Download
Imagine
The Future of Automation
Code life into the machinery of the future. Everyone from hobbyist to factory automation professionals can leverage vast open source tools and a vibrant hardware ecosystem to create incredible robots to do nearly anything.
a sweet robot
Imagine
Development as a First-Class Citizen
The cloud and devices of the future are running Linux. Accelerate your productivity by developing on the same platform that you deploy to. Your tools and programming languages are supported natively and only a command away.
ben@pop-os:~/Projects/hal$ mix test --trace
Compiling 176 files (.ex)
Generated hal app
Hal.EncryptorTest
* test generates encrypted strings matching those generared by Joshua (5.4ms)
* test decrypts strings encrypted by Joshua (0.1ms)
Hal.NotificationTest
Hal.SupportActionTest
* test performing an illegal action returns an error (86.9ms)
* test performing a legal action succeeds (43.6ms)
* test performing an action as an unsupported role returns an error (16.4ms)
* test completing a legal action resolves requirements (34.5ms)
* test performing an action as an unauthenticated user returns an error (22.7ms)
* test completing a legal action creates new requirements (60.4ms)
* test invokes a system action check after a successful action is performed (23.5ms)
Hal.Type.JSONTest
* test type is a string (0.00ms)
* test cast accepts anything (0.00ms)
* test dump allows setting NULL (0.00ms)
* test dump stringifies to JSON (17.5ms)
* test load hydrates JSON (6.9ms)
* test load hydrates NULL columns (0.00ms)
JunctionBox.ParserTest
* test handles bare strings (0.01ms)
* test parses dot separated include paths (0.00ms)
* test only parses one level deep (0.00ms)
* test removes duplicates (0.01ms)
Hal.Type.OrderStatusTest
* test cast rejects unknown statuses (0.00ms)
* test cast accepts strings, atoms, and ints (0.00ms)
* test dumping an atom produces an integer (0.00ms)
* test loading an integer produces an atom (0.00ms)
Hal.Type.UnixTimestampTest
* test casts ISO 8601 strings to datetimes (0.04ms)
* test type is an integer (0.00ms)
* test dumping a datetime object produces an integer timestamp (0.00ms)
* test loading a timestamp returns a datetime object (0.01ms)
Hal.Type.IdListTest
* test cast returns lists of integers unaltered (0.00ms)
* test type is a string (0.00ms)
* test cast returns an error for non-list types (0.00ms)
* test dumping an empty list produces a JSON array containing the empty string (0.00ms)
* test dumping a list of integers produces a JSON array of integer strings (0.00ms)
* test loading a JSON array returns a list of integers (0.04ms)
* test loading a JSON array containing the empty string returns an empty list (0.00ms)
Hal.Type.CommaSeparatedListTest
* test cast returns lists of strings unaltered (0.00ms)
* test type is a string (0.00ms)
* test cast returns an error for non-list types (0.00ms)
* test dumping an empty list produces nil (0.00ms)
* test dumping a list of strings produces a comma separated list of strings (0.00ms)
* test loading a string returns a list of strings (0.00ms)
* test loading nil returns an empty list (0.00ms)
Hal.Plug.AuthenticatorTest
* test assigns current_user if a valid auth header is provided (17.3ms)
* test does nothing if no authentication header is present (19.2ms)
* test returns a 401 and halts if an invalid auth header is present (13.7ms)
* test returns a 401 and halts if an expired token is provided (4.5ms)
* test returns a 401 and halts if a malformed auth header is present (5.1ms)
* test returns a 401 and halts if multiple authentication headers are provided (13.5ms)
* test allows an authentication token to be provided as a GET parameter (34.7ms)
JunctionBoxTest
* test includes links if asked for (0.3ms)
* test passes through normal requests unaltered (0.1ms)
* test only alters GET requests (0.1ms)
* test handles includes for nonexistent links (0.1ms)
* test can include grandchildren (0.5ms)
* test handles errors on the original request (3.2ms)
* test handles errors on child requests (0.2ms)
Hal.ErrorViewTest
* test renders 404.json (0.3ms)
* test render 500.json (0.3ms)
* test render any other (1.0ms)
Hal.UserTest
* test changeset with valid attributes (0.4ms)
* test changeset with invalid attributes (0.2ms)
* test setting a password generates hashes matching the legacy system (0.2ms)
* test changing the email also sets the username (0.3ms)
* test authentication ma