diff --git a/daemons/ipa-otpd/test.py b/daemons/ipa-otpd/test.py index 0ccd8b0e4..ea55f9b2a 100644 --- a/daemons/ipa-otpd/test.py +++ b/daemons/ipa-otpd/test.py @@ -41,22 +41,28 @@ ATTRIBUTE User-Password 2 string ATTRIBUTE NAS-Identifier 32 string """ -dct = Dictionary(StringIO(DICTIONARY)) -proc = subprocess.Popen(["./ipa-otpd", sys.argv[1]], - stdin=subprocess.PIPE, stdout=subprocess.PIPE) +def main(): + dct = Dictionary(StringIO(DICTIONARY)) -pkt = packet.AuthPacket(secret="", dict=dct) -pkt["User-Name"] = sys.argv[2] -pkt["User-Password"] = pkt.PwCrypt(sys.argv[3]) -pkt["NAS-Identifier"] = "localhost" -proc.stdin.write(pkt.RequestPacket()) + proc = subprocess.Popen(["./ipa-otpd", sys.argv[1]], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE) -rsp = packet.Packet(secret="", dict=dict) -buf = proc.stdout.read(4) -buf += proc.stdout.read(struct.unpack("!BBH", buf)[2] - 4) -rsp.DecodePacket(buf) -pkt.VerifyReply(rsp) + pkt = packet.AuthPacket(secret="", dict=dct) + pkt["User-Name"] = sys.argv[2] + pkt["User-Password"] = pkt.PwCrypt(sys.argv[3]) + pkt["NAS-Identifier"] = "localhost" + proc.stdin.write(pkt.RequestPacket()) -proc.terminate() #pylint: disable=E1101 -proc.wait() + rsp = packet.Packet(secret="", dict=dict) + buf = proc.stdout.read(4) + buf += proc.stdout.read(struct.unpack("!BBH", buf)[2] - 4) + rsp.DecodePacket(buf) + pkt.VerifyReply(rsp) + + proc.terminate() # pylint: disable=E1101 + proc.wait() + +if __name__ == '__main__': + main() diff --git a/doc/examples/python-api.py b/doc/examples/python-api.py index 0a6eb60ef..3fde3fe32 100755 --- a/doc/examples/python-api.py +++ b/doc/examples/python-api.py @@ -22,27 +22,33 @@ from __future__ import print_function from ipalib import api -# 1. Initialize ipalib -# -# Run ./python-api.py --help to see the global options. Some useful options: -# -# -v Produce more verbose output -# -d Produce full debugging output -# -e in_server=True Force running in server mode -# -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server -api.bootstrap_with_global_options(context='example') -api.finalize() +def example(): + # 1. Initialize ipalib + # + # Run ./python-api.py --help to see the global options. Some useful + # options: + # + # -v Produce more verbose output + # -d Produce full debugging output + # -e in_server=True Force running in server mode + # -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server -# You will need to create a connection. If you're in_server, call -# Backend.ldap.connect(), otherwise Backend.rpcclient.connect(). + api.bootstrap_with_global_options(context='example') + api.finalize() -if api.env.in_server: - api.Backend.ldap2.connect() -else: - api.Backend.rpcclient.connect() + # You will need to create a connection. If you're in_server, call + # Backend.ldap.connect(), otherwise Backend.rpcclient.connect(). + + if api.env.in_server: + api.Backend.ldap2.connect() + else: + api.Backend.rpcclient.connect() + + # Now that you're connected, you can make calls to api.Command.whatever(): + print('The admin user:') + print(api.Command.user_show(u'admin')) -# Now that you're connected, you can make calls to api.Command.whatever(): -print('The admin user:') -print(api.Command.user_show(u'admin')) +if __name__ == '__main__': + example() diff --git a/install/share/copy-schema-to-ca.py b/install/share/copy-schema-to-ca.py index a6d09ecb1..9edc0cd08 100755 --- a/install/share/copy-schema-to-ca.py +++ b/install/share/copy-schema-to-ca.py @@ -121,4 +121,5 @@ def main(): root_logger.info('Schema updated successfully') -main() +if __name__ == '__main__': + main() diff --git a/ipatests/pytest.ini b/ipatests/pytest.ini index 326a8d6f3..c14eb5d39 100644 --- a/ipatests/pytest.ini +++ b/ipatests/pytest.ini @@ -15,18 +15,6 @@ addopts = --doctest-modules -p ipatests.pytest_plugins.additional_config # Ignore files for doc tests. # TODO: ideally, these should all use __name__=='__main__' guards - --ignore=ipasetup.py - --ignore=setup.py - --ignore=ipaclient/setup.py - --ignore=ipalib/setup.py - --ignore=ipaplatform/setup.py - --ignore=ipapython/setup.py - --ignore=ipaserver/setup.py - --ignore=ipatests/setup.py - --ignore=checks/check-ra.py - --ignore=daemons/ipa-otpd/test.py - --ignore=doc/examples/python-api.py - --ignore=install/share/copy-schema-to-ca.py --ignore=install/share/wsgi.py markers = tier0: basic unit tests and critical functionality