diff --git a/cratonclient/shell/__init__.py b/cratonclient/shell/__init__.py new file mode 100644 index 0000000..f904ea2 --- /dev/null +++ b/cratonclient/shell/__init__.py @@ -0,0 +1,11 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. \ No newline at end of file diff --git a/cratonclient/shell/main.py b/cratonclient/shell/main.py new file mode 100644 index 0000000..23217e6 --- /dev/null +++ b/cratonclient/shell/main.py @@ -0,0 +1,22 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Main shell for parsing arguments directed toward Craton. +""" + + +def main(): + return 0 + +if __name__ == "__main__": + main() diff --git a/cratonclient/shell/v1.py b/cratonclient/shell/v1.py new file mode 100644 index 0000000..72d4e37 --- /dev/null +++ b/cratonclient/shell/v1.py @@ -0,0 +1,17 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Command-line interface to the OpenStack Craton API V1. +""" + +# TODO (cmspence): from cratonclient.v1 import client diff --git a/cratonclient/tests/unit/__init__.py b/cratonclient/tests/unit/__init__.py new file mode 100644 index 0000000..f904ea2 --- /dev/null +++ b/cratonclient/tests/unit/__init__.py @@ -0,0 +1,11 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. \ No newline at end of file diff --git a/cratonclient/tests/unit/test_main_shell.py b/cratonclient/tests/unit/test_main_shell.py new file mode 100644 index 0000000..0b70e1a --- /dev/null +++ b/cratonclient/tests/unit/test_main_shell.py @@ -0,0 +1,25 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""Tests for `cratonclient.shell.main` module.""" + +from cratonclient.tests import base +from cratonclient.shell import main + + +class TestMainShell(base.TestCase): + """Test our craton main shell.""" + + def test_main_returns_successfully(self): + """Verify that cratonclient shell main returns as expected.""" + + self.assertEqual(main.main(), 0)