all_exports = dir(mysql)

# Remove the python built in members
exports = []
for member in all_exports:
  if not member.startswith('__'):
    exports.append(member)


# The dir function appends 3 built in members
print 'Exported Items:', len(exports)

print 'get_classic_session:', type(mysql.get_classic_session)

#@ mysql module: get_classic_session through URI
mySession = mysql.get_classic_session(__uripwd)

print mySession, '\n'

if mySession.uri == __displayuri:
	print 'Session using right URI\n'
else:
	print 'Session using wrong URI\n' 

mySession.close()

#@ mysql module: get_classic_session through URI and password
mySession = mysql.get_classic_session(__uri, __pwd)

print mySession, '\n'
# Assumptions: ensure_schema_does_not_exist is available
# Assumes __uripwd is defined as <user>:<pwd>@<host>:<mysql_port>
import mysql

mySession = mysql.get_classic_session(__uripwd)

ensure_schema_does_not_exist(mySession, 'js_shell_test')

schema = mySession.create_schema('js_shell_test')
mySession.set_current_schema('js_shell_test')

result = mySession.run_sql('create table table1 (name varchar(50))')
result = mySession.run_sql(
    'create view view1 (my_name) as select name from table1')
view = mySession.get_schema('js_shell_test').get_table('view1')

#@ Testing view name retrieving
print 'get_name(): ' + view.get_name()
print 'name: ' + view.name

#@ Testing session retrieving
print 'get_session():', view.get_session()
print 'session:', view.session

#@ Testing view schema retrieving
print 'get_schema():', view.get_schema()
print 'schema:', view.schema

#@ Testing existence
print 'Valid:', view.exists_in_database()
mySession.drop_view('js_shell_test', 'view1')
# Assumptions: ensure_schema_does_not_exist is available
# Assumes __uripwd is defined as <user>:<pwd>@<host>:<mysql_port>
# validateMemer and validateNotMember are defined on the setup script
import mysql

#@ Session: validating members
classicSession = mysql.get_classic_session(__uripwd)
all_members = dir(classicSession)

# Remove the python built in members
sessionMembers = []
for member in all_members:
    if not member.startswith('__'):
        sessionMembers.append(member)

validateMember(sessionMembers, 'close')
validateMember(sessionMembers, 'create_schema')
validateMember(sessionMembers, 'get_current_schema')
validateMember(sessionMembers, 'get_default_schema')
validateMember(sessionMembers, 'get_schema')
validateMember(sessionMembers, 'get_schemas')
validateMember(sessionMembers, 'get_uri')
validateMember(sessionMembers, 'set_current_schema')
validateMember(sessionMembers, 'run_sql')
validateMember(sessionMembers, 'default_schema')
validateMember(sessionMembers, 'uri')
validateMember(sessionMembers, 'current_schema')

#@ ClassicSession: validate dynamic members for system schemas
sessionMembers = dir(classicSession)
validateNotMember(sessionMembers, 'mysql')