Changeset 196 for cleverbox/trunk

Show
Ignore:
Timestamp:
08/17/07 08:15:58 (5 years ago)
Author:
trivoallan
Message:

cleverbox :

  • added client unit tests
  • whitespace fixes
Location:
cleverbox/trunk/cleverbox
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • cleverbox/trunk/cleverbox/client.py

    r195 r196  
    7070    collected_infos['home_dir'] = os.path.join(environment.config.get('general', 'clients_root'), client_name) 
    7171    client_dir = collected_infos['home_dir'] 
    72  
    73     # A few checks before effectively creating client 
    74     # -- homedir 
    75 #    parent_dir = os.path.normpath(os.path.join(collected_infos['home_dir'], os.pardir)) 
    76 #    dir_is_ok = os.access(parent_dir, os.W_OK) and os.access(collected_infos['home_dir'], os.R_OK) 
    77 #    print parent_dir 
    78 #    if not dir_is_ok: 
    79 #        raise os.error, "Directory %s is not writable or already exists, aborting." % collected_infos['home_dir'] 
    8072 
    8173    # Client creation 
     
    10698    logging.info("  Apache configuration written to %s\n" % apache_conf_filepath) 
    10799 
    108     # -- Fix permissions 
     100    # -- Set permissions 
    109101    user  = environment.config.get('general', 'ssh_user') 
    110102    group = environment.config.get('general', 'apache_group') 
  • cleverbox/trunk/cleverbox/environment.py

    r195 r196  
    2525 
    2626        #Parameters sanity check 
    27         try: 
     27        try: 
    2828           parameters['general']['assets_dir'] 
    29            parameters['general']['apache_group'] 
    30            parameters['general']['clients_root'] 
    31         except KeyError, e: 
    32            raise Exception, "Supplied parameters are not complete." 
     29           parameters['general']['apache_group'] 
     30           parameters['general']['clients_root'] 
     31        except KeyError, e: 
     32            raise Exception, "Supplied parameters are not complete." 
    3333 
    3434        # Do not do anything if base directories is not empty 
  • cleverbox/trunk/cleverbox/tests/client.py

    r195 r196  
    3939 
    4040    def test_client_add_generates_expected_apache_configuration(self): 
    41         pass 
     41        client_name = 'testclient' 
     42        client.add(self.env, client_name)  
     43        expected =  """ 
     44# -- Include enabled projects configuration files 
     45Include %(env_dir)s/projects-enabled/testclient-* 
     46""" % {'env_dir' : self.env.path} 
     47        got = file(os.path.join(self.env.path, 'clients-available', client_name)).read() 
     48         
     49        assert got == expected, "client.add() generates expected apache configuration fragment (expected %s, got %s)" % (expected, got) 
    4250     
    4351    def test_client_add_fails_on_existing_client(self): 
    44         pass 
     52        """ 
     53        client.add() fails when given already existing client. 
     54        """ 
     55        client_name = 'testclient' 
     56        client.add(self.env, client_name) 
     57        try:  
     58            client.add(self.env, client_name + 'f') 
     59        except Exception, e: 
     60            pass 
     61        else: 
     62            self.fail(__doc__) 
    4563     
    4664    def test_client_add_fails_on_invalid_client_name(self): 
    47         pass 
     65        client_name = 'test-client' 
     66        try: 
     67            client.add(self.env, client_name) 
     68        except Exception, e: 
     69            pass 
     70        else: 
     71            self.fail("client.add() fails when given invalid username") 
    4872 
    4973 
  • cleverbox/trunk/cleverbox/utils/filesystem.py

    r189 r196  
    5959   return stat.S_ISLNK(mode) 
    6060 
     61def set_permissions(permissions): 
     62    for (entry, spec) in permissions.items(): 
     63        os.chmod(entry, spec[0]) 
     64        os.chown(entry, 
     65                 get_uid_from_name(spec[1]), 
     66                 get_gid_from_name(spec[2]))