// Following needs to be equal: // FeatureId, LocationId public void ActiveFeaturesWithSameFeatureIdAndLocationIdAreEqual() { // Arrange var referenceFeatureDefinition = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); ActivatedFeature referenceFeature = ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, referenceFeatureDefinition, Faulty, Properties, TimeActivated, Version, DefinitioninstallationScope ); // Act var definitionDifferent = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, null, null, HiddenDifferent, Name, null, Scope, null, Guid.Empty, null, null, DefinitioninstallationScope ); var equalFeature = ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, definitionDifferent, FaultyDifferent, PropertiesDifferent, TimeActivatedDifferent, VersionDifferent, DefinitioninstallationScopeDifferent ); var equalFeatureEmpty = ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, null, FaultyDifferent, null, DateTime.MinValue, null, null ); // Assert Assert.Equal(referenceFeature, equalFeature); Assert.Equal(referenceFeature, equalFeatureEmpty); }
// Following needs to be equal: // FeatureId, Compatibility level, Name, Scope, DefinitioninstallationScope public void DefinitionsWithSameFeatureIdCompLevelNameAndScopeAreEqual() { // Arrange var referenceFeature = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); ActivatedFeature ActiveFeature1 = ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, referenceFeature, Faulty, null, DateTime.Now, Version ); referenceFeature.ToggleActivatedFeature(ActiveFeature1, true); // Act var equalFeature = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, DescriptionDifferent, DisplayNameDifferent, HiddenDifferent, Name, PropertiesDifferent, Scope, TitleDifferent, SolutionIdDifferent, UiVersionDifferent, VersionDifferent, DefinitioninstallationScope ); // Assert Assert.Equal(referenceFeature, equalFeature); // Act var equalFeatureEmpty = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, null, null, HiddenDifferent, Name, null, Scope, null, Guid.Empty, null, null, DefinitioninstallationScope ); // Assert Assert.Equal(referenceFeature, equalFeatureEmpty); }
public static ActivatedFeature HealthySiCo15ActivatedInActivatedSiCo() { return(ActivatedFeatureFactory.GetActivatedFeature( FeatureDefinitionHealthySiCo15.UniqueIdentifier, Locations.ActivatedRootWeb.Guid.ToString(), FeatureDefinitionHealthySiCo15.DisplayName, Faulty, null, DateTime.Now, Version, FeatureDefinitionHealthySiCo15.Version )); }
public static ActivatedFeature GetUpgradeFarmFeature(string locationId) { return(ActivatedFeatureFactory.GetActivatedFeature( FeatureDefinitionUpgradeFarm15.UniqueIdentifier, locationId, FeatureDefinitionUpgradeFarm15.DisplayName, Faulty, null, DateTime.Now, ActivatedFeatureVersion, FeatureDefinitionUpgradeFarm15.Version )); }
public static ActivatedFeature GetFaultySiteFeature(string locationId) { return(ActivatedFeatureFactory.GetActivatedFeature( FeatureDefinitionFaultySite15.UniqueIdentifier, locationId, // Locations.ActivatedRootWeb.Guid, FeatureDefinitionFaultySite15.DisplayName, Faulty, null, DateTime.Now, Version, FeatureDefinitionFaultySite15.Version )); }
public static ActivatedFeature HealthySiCo15ActivatedInActivatedSiCo() { return(ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, FeatureDefinitionHealthySiCo15, Faulty, null, DateTime.Now, Version )); }
// Following needs to be equal: // FeatureId, LocationId public void ActiveFeaturesWithDifferentFeatureIdOrLocationIdAreNotEqual() { // Arrange var referenceFeatureDefinition = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version ); ActivatedFeature referenceFeature = ActivatedFeatureFactory.GetActivatedFeature( referenceFeatureDefinition.UniqueIdentifier, SolutionId.ToString(), referenceFeatureDefinition.DisplayName, Faulty, Properties, TimeActivated, Version, referenceFeatureDefinition.Version ); // Act var notEqualFeatureId = ActivatedFeatureFactory.GetActivatedFeature( IdDifferent.ToString(), SolutionId.ToString(), referenceFeatureDefinition.DisplayName, Faulty, Properties, TimeActivated, Version, referenceFeatureDefinition.Version ); var notEqualLocationId = ActivatedFeatureFactory.GetActivatedFeature( referenceFeatureDefinition.UniqueIdentifier, SolutionIdDifferent.ToString(), referenceFeatureDefinition.DisplayName, Faulty, Properties, TimeActivated, Version, referenceFeatureDefinition.Version ); // Assert Assert.NotEqual(referenceFeature, notEqualFeatureId); Assert.NotEqual(referenceFeature, notEqualLocationId); }
public static ActivatedFeature ToActivatedFeature(this SPFeature spFeature, Guid parentId, Scope parentScope, string parentUrl) { FeatureDefinition definition = null; bool faulty = false; string definitionInstallationScope = GetDefinitionInstallationScope(spFeature.FeatureDefinitionScope == SPFeatureDefinitionScope.Farm, parentUrl); try { if (spFeature.Definition != null) { var fDef = spFeature.Definition; definition = fDef.ToFeatureDefinition(definitionInstallationScope); } else { definition = FeatureDefinitionFactory.GetFaultyDefinition(spFeature.DefinitionId, parentScope, spFeature.Version, definitionInstallationScope); faulty = true; } } catch (Exception) { faulty = true; } var feature = ActivatedFeatureFactory.GetActivatedFeature( spFeature.DefinitionId, parentId, definition, faulty, spFeature.Properties == null ? null : spFeature.Properties.ToProperties(), spFeature.TimeActivated, spFeature.Version, definitionInstallationScope ); return(feature); }
public static ActivatedFeature ToActivatedFeature( this SPFeature spFeature, Location location) { FeatureDefinition definition = null; bool faulty = false; string featureUniqueId; string displayName; Version definitionVersion; try { var fDef = spFeature.Definition; if (fDef != null) { if (spFeature.FeatureDefinitionScope == SPFeatureDefinitionScope.Web) { definition = fDef.ToFeatureDefinition(location.UniqueId); } else if (spFeature.FeatureDefinitionScope == SPFeatureDefinitionScope.Site) { if (location.Scope == Scope.Web) { definition = fDef.ToFeatureDefinition(location.ParentId); } else { // only other location with featuredefinitionscope site can be site collection // therefore, location id for sandboxed solution is current location (site) definition = fDef.ToFeatureDefinition(location.UniqueId); } } else { // Featuredefinitionscope must be farm or none now, in both cases, no location will be assigned to feature definition ... definition = fDef.ToFeatureDefinition(null); } featureUniqueId = definition.UniqueIdentifier; displayName = definition.DisplayName; definitionVersion = definition.Version; } else { faulty = true; featureUniqueId = Core.Common.StringHelper.GenerateUniqueId( spFeature.DefinitionId, Core.Common.Constants.Labels.FaultyFeatureCompatibilityLevel ); displayName = Core.Common.Constants.Labels.FaultyFeatureName; definitionVersion = null; } } catch (Exception) { faulty = true; featureUniqueId = Core.Common.StringHelper.GenerateUniqueId( spFeature.DefinitionId, Core.Common.Constants.Labels.FaultyFeatureCompatibilityLevel ); displayName = Core.Common.Constants.Labels.FaultyFeatureName; definitionVersion = null; } var feature = ActivatedFeatureFactory.GetActivatedFeature( featureUniqueId, location.UniqueId, displayName, faulty, spFeature.Properties == null ? null : spFeature.Properties.ToProperties(), spFeature.TimeActivated, spFeature.Version, definitionVersion, spFeature.FeatureDefinitionScope.ToFeatureDefinitionScope() ); return(feature); }
// Following needs to be equal: // FeatureId, Compatibility level, Name, Scope, DefinitioninstallationScope public void DefinitionsWithDifferentFeatureIdCompLevelNameOrScopeAreNotEqual() { // Arrange var referenceFeature = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); ActivatedFeature ActiveFeature1 = ActivatedFeatureFactory.GetActivatedFeature( Id, Locations.ActivatedRootWeb.Guid, referenceFeature, Faulty, null, DateTime.Now, Version ); referenceFeature.ToggleActivatedFeature(ActiveFeature1, true); // Act var notEqualFeatureId = FeatureDefinitionFactory.GetFeatureDefinition( IdDifferent, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); var notEqualFeatureCompatibility = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevelDifferent, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); var notEqualFeatureScope = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, ScopeDifferent, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); var notEqualFeatureName = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, NameDifferent, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScope ); var notEqualFeatureDefInstScope = FeatureDefinitionFactory.GetFeatureDefinition( Id, CompatibilityLevel, Description, DisplayName, Hidden, Name, Properties, Scope, Title, SolutionId, UiVersion, Version, DefinitioninstallationScopeDifferent ); // Assert Assert.NotEqual(referenceFeature, notEqualFeatureId); Assert.NotEqual(referenceFeature, notEqualFeatureCompatibility); Assert.NotEqual(referenceFeature, notEqualFeatureName); Assert.NotEqual(referenceFeature, notEqualFeatureScope); Assert.NotEqual(referenceFeature, notEqualFeatureDefInstScope); }