blob: dc89f77a976824792d5ba197164d38795922f340 [file] [log] [blame]
#!/usr/bin/python
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import socket
from fake_printer import FakePrinter
def main():
"""
Unit tests for fake_printer.py.
"""
# Simple unit test - it should start and stop without errors
p = FakePrinter(12345)
p.stop()
# The same test but other way
with FakePrinter(23456) as p:
pass
# Another test - let's try to send something
message = 'lkds;fsdjfsdjflsdjfsd;lfsad;adfsfa324dsfcxvdsvdf'
port = 12345
with FakePrinter(port) as printer:
# Opens a socket and sends the message
my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_socket.connect( ('localhost', port) )
my_socket.send(message)
my_socket.close()
# Reads the message from the FakePrinter
doc = printer.fetch_document(10)
# The printer is stopped at the end of "with" statement
assert message == doc
if __name__ == '__main__':
main()